The UniDiffuser authors suggest performing image variation through a "round-trip" generation method, where given an input image, we first perform an image-to-text generation, and then perform a text-to-image generation on the outputs of the first generation.
This produces a new image which is semantically similar to the input image:  
```python
import torch

from diffusers import UniDiffuserPipeline
from diffusers.utils import load_image