2025-12-12 15:14:52 +08:00
# Text-To-Image
2025-11-29 20:19:50 +08:00
2025-12-31 15:03:24 +08:00
This folder provides several entrypoints for experimenting with `Qwen/Qwen-Image` `Qwen/Qwen-Image-2512` `Tongyi-MAI/Z-Image-Turbo` using vLLM-Omni:
2025-11-29 20:19:50 +08:00
2025-12-08 16:00:25 +08:00
- `text_to_image.py` : command-line script for single image generation with advanced options.
2025-11-29 20:19:50 +08:00
- `web_demo.py` : lightweight Gradio UI for interactive prompt/seed/CFG exploration.
2025-12-31 18:34:02 +08:00
Note that when you pass in multiple independent prompts, they will be processed sequentially. Batching requests is currently not supported.
2025-12-08 16:00:25 +08:00
## Basic Usage
```python
from vllm_omni.entrypoints.omni import Omni
if __name__ == "__main__" :
omni = Omni ( model = "Qwen/Qwen-Image" )
prompt = "a cup of coffee on the table"
2025-12-31 09:46:44 +08:00
outputs = omni . generate ( prompt )
2026-01-05 09:17:06 +08:00
images = outputs [ 0 ] . request_output [ 0 ] . images
2025-12-08 16:00:25 +08:00
images [ 0 ] . save ( "coffee.png" )
```
2025-11-29 20:19:50 +08:00
2025-12-31 18:34:02 +08:00
Or put more than one prompt in a request, processing them sequentially.
```python
from vllm_omni.entrypoints.omni import Omni
if __name__ == "__main__" :
omni = Omni ( model = "Qwen/Qwen-Image" )
prompts = [
"a cup of coffee on a table" ,
"a toy dinosaur on a sandy beach" ,
"a fox waking up in bed and yawning" ,
]
outputs = omni . generate ( prompts )
for i , output in enumerate ( outputs ):
2025-12-31 22:02:04 +08:00
image = output . request_output [ 0 ] . images [ 0 ] . save ( f " { i } .jpg" )
2025-12-31 18:34:02 +08:00
```
2025-11-29 20:19:50 +08:00
## Local CLI Usage
```bash
python text_to_image.py \
2025-12-12 15:14:52 +08:00
--model Tongyi-MAI/Z-Image-Turbo \
2025-11-29 20:19:50 +08:00
--prompt "a cup of coffee on the table" \
--seed 42 \
--cfg_scale 4.0 \
--num_images_per_prompt 1 \
--num_inference_steps 50 \
--height 1024 \
--width 1024 \
--output outputs/coffee.png
```
Key arguments:
- `--prompt` : text description (string).
- `--seed` : integer seed for deterministic sampling.
- `--cfg_scale` : true CFG scale (model-specific guidance strength).
- `--num_images_per_prompt` : number of images to generate per prompt (saves as `output` , `output_1` , ...).
- `--num_inference_steps` : diffusion sampling steps (more steps = higher quality, slower).
- `--height/--width` : output resolution (defaults 1024x1024).
- `--output` : path to save the generated PNG.
2026-01-23 22:43:00 +08:00
- `--enable-cpu-offload` : enable CPU offloading for diffusion models.
2025-11-29 20:19:50 +08:00
> ℹ ️ Qwen-Image currently publishes best-effort presets at `1328x1328`, `1664x928`, `928x1664`, `1472x1140`, `1140x1472`, `1584x1056`, and `1056x1584`. Adjust `--height/--width` accordingly for the most reliable outcomes.
## Web UI Demo
Launch the gradio demo:
```bash
python gradio_demo.py --port 7862
```
Then open `http://localhost:7862/` on your local browser to interact with the web UI.