Variations

Since generative AI is probabilistic in nature, there will always be a degree of randomness to its results. Providing variations allows users to compare different permutations of the model's logic against their prompt, some of which will be far from their intent but some might be different in unexpectedly positive ways. Whether exploring a prompt space divergently or converging on a final result, this pattern gives users a degree of control over the models’ output.

Different methods of showing variations

This pattern takes different forms depending on the modality or product-specific choices.

Branched variations

This form is common for visual generators like image and text. Multiple options (commonly four) are created at once, deriving from a common seed, and shown in a grid of thumbnails. Users can run additional prompts and actions on any one of those variations. Some tools allow users to adjust the number of variations to create per prompt. Examples: Krea, Midjourney, Canva

Adobe Firefly shows multiple variants that users can branch off of.

Convergent variations

When working in a linear fashion, generally inline to a piece of content or code, the user selects from a list of options and that selected variant is merged into the main content. This option can be shown every time (Copy.ai), or only when the user triggers it or the model senses it has low contextual confidence and needs user guidance (GitHub Copilot).

GitHub Copilot's completion panel can be triggered by the user, and shows by default when a low level of context is more likely to produce errant results.

Preset variations

Some text editors (Grammarly, Writer.com) show variations of text with different actions applied, such as demonstrating a version that is more professional vs. casual, or more pithy vs. more detailed. The tools show all of the permutations together in a group for the user to choose from.

Writer.com shows preset actions that produce different variants for the user to choose from.

Design considerations

  • Keep follow up actions close at hand. Let users select, merge, or branch off of a variation from the variant itself to keep users in the flow of work.
  • Allow additional generations. If the first version or set of variations doesn't meet the user's needs, allow them to regenerate a new variant or set of variants from the same place on the surface.
  • Use parameters to keep users in control. Let users change how different the variants should be, whether to use a consistent seed, how many variants to include, etc. Maintain this as metadata associated with the variant so users have footprints to guide them back into how it was created.
  • Avoid unintentional replacement.
    Never overwrite the original output without confirmation. Variations should extend the workspace, not risk data loss or undo effort.

Examples

Adobe Firefly shows thumbnails of variants in a grid with a dropdown of options on hover to iterate with any or all of them.
FloraFauna generates variations of images directly on the canvas. These are created as nodes so new branches can be added onto them without additional steps.
Ideogram shows all variations across all generations together in a scrollbar at the base of the generator. Users can tab through each variation and compare how details like the magic prompt changed for each.
Writer provides preset variations rather than generating the same seed multiple times. This way users can compare different ways of modifying the text to meet different goals.