maxazure/zimage
0
Z-Image Turbo Generator
基于 Transformer 的高性能文本到图像生成模型 Hugging Face Space。
功能特点
- 🎨 简洁的 Web 界面: 使用 Gradio 构建的现代化界面
- 🖼️ 多种分辨率: 支持 1:1、16:9、9:16、4:3、3:4 等多种宽高比
- ⚙️ 灵活参数: 可调节推理步数、引导系数、时间偏移等
- 🚀 ZeroGPU 支持: 利用 Hugging Face Pro 订阅的 GPU 资源
- 💻 API 接口: 内置 API 端点,支持编程调用
使用方法
在线使用
- 在提示词框中输入你想生成的图像描述
- 选择合适的宽高比和分辨率
- 调整高级参数(可选)
- 点击 "Generate Image" 按钮
- 等待图像生成完成
API 调用
Python 示例
from gradio_client import Client
client = Client("YOUR_SPACE_URL")
result = client.predict(
prompt="A cute orange cat sitting on a windowsill",
negative_prompt="",
resolution="1024x1024",
num_inference_steps=28,
guidance_scale=5.0,
time_shift=4.0,
seed=42,
randomize_seed=False,
api_name="/predict"
)JavaScript 示例
import { Client } from "@gradio/client";
const client = await Client.connect("YOUR_SPACE_URL");
const result = await client.predict("/predict", {
prompt: "A cute orange cat sitting on a windowsill",
negative_prompt: "",
resolution: "1024x1024",
num_inference_steps: 28,
guidance_scale: 5.0,
time_shift: 4.0,
seed: 42,
randomize_seed: false,
});部署到 Hugging Face Space
1. 创建 Space
- 访问 Hugging Face Spaces
- 点击 "Create new Space"
- 选择 SDK 为 "Gradio"
- 选择合适的硬件(需要 GPU,推荐使用 ZeroGPU)
2. 上传代码
方法 A: Web 界面上传
- 上传
app.py、requirements.txt和README.md
方法 B: Git 推送
git remote add hf https://huggingface.co/spaces/YOUR_USERNAME/YOUR_SPACE_NAME
git add .
git commit -m "Initial commit"
git push hf main3. 配置硬件
在 Space 设置中:
- 选择 "ZeroGPU" 或其他 GPU 类型
- 确保启用了 GPU 支持
关键修复
本版本相比原始实现修复了以下问题:
✅ 已修复的问题
- Gradio 兼容性
- 移除了不兼容的
theme=gr.themes.Soft()参数 - 使用 CSS 字符串代替主题对象
- Attention Backend
- 默认使用稳定的
nativebackend - 添加了 fallback 机制,避免 flash_3 不可用的错误
- 模型加载
- 使用正确的
ZImagePipeline - 添加了
use_auth_token=False避免 token 错误 - 使用
torch.bfloat16作为数据类型
- ZeroGPU 集成
- 添加
@spaces.GPU(duration=60)装饰器 - 禁用了需要额外依赖的 AOTI 优化
- 错误处理
- 添加了完善的错误捕获和提示
- 使用
gr.Error()向用户显示友好的错误信息
参数说明
技术栈
- Gradio: Web 界面框架
- Diffusers: 扩散模型库(从 GitHub 安装最新版)
- Transformers: 文本编码器
- PyTorch: 深度学习框架
- Spaces: Hugging Face ZeroGPU 支持
常见问题
Q: 为什么生成速度慢?
A: 确保 Space 配置了 GPU 硬件。ZeroGPU 在首次调用时需要初始化。
Q: 如何获得最佳质量?
A: 增加推理步数(28-50)并使用较高的分辨率。
Q: Negative Prompt 如何使用?
A: 输入你不想在图像中出现的内容,如 "blurry, low quality, distorted"。
许可证
Apache 2.0
鸣谢
- 模型来源: Tongyi-MAI/Z-Image-Turbo
- 参考项目: Z-Image-Turbo Space
