古诗词意境图生成器

基于 LLM 古诗词分析 + Z-Image-Turbo 本地文生图的自动化工具。

输入一首古诗词唐诗、宋词、元曲等均可LLM 会以「信、雅、达」的标准分析意境,自动选择最合适的中国传统画风,并拆解为多个画面。然后调用本地 Z-Image-Turbo 模型逐一生成高质量图片。

特性

  • 支持唐诗、宋词、元曲等所有中国古典诗词体裁
  • LLM 自动识别体裁并匹配最佳画风(水墨写意、青绿山水、工笔花鸟等 9 种风格)
  • 可选加载 LoRA 增强特定画风(如水墨风 LoRA
  • Z-Image-Turbo 本地推理16GB 显存即可运行

环境要求

  • Python >= 3.10
  • GPU至少 16GB 显存),支持以下任一:
    • NVIDIA CUDA GPU
    • Intel Arc GPUA770 等,通过 XPU 支持)
    • Apple SiliconMPS
  • 兼容 OpenAI API 的 LLM 端点

安装

pip install -r requirements.txt

diffusers 需要从源码安装requirements.txt 已配置)。

Intel Arc GPU 额外步骤

# 安装 Intel Extension for PyTorch
pip install intel-extension-for-pytorch

config.yaml 中的 device 设为 "auto""xpu" 即可自动适配。脚本会自动将数据类型切换为 float16Intel Arc 对 bfloat16 兼容性不佳)。

配置

编辑 config.yaml

配置项 说明
llm.base_url LLM API 端点地址(兼容 OpenAI 格式)
llm.api_key API 密钥(也可通过环境变量 LLM_API_KEY 设置)
llm.model 模型名称
image.model_id Z-Image-Turbo 的 HuggingFace ID 或本地 HF 格式目录
image.comfyui.* ComfyUI 拆分文件路径(见下方说明)
image.device 推理设备:auto / cuda / xpu / mps / cpu
lora.enabled 是否启用 LoRA
lora.path LoRA 文件路径(.safetensors
output.dir 图片输出目录

模型加载方式

支持两种模型来源,在 config.yaml 中二选一:

方式一HuggingFace 格式(默认)

image:
  model_id: "Tongyi-MAI/Z-Image-Turbo"   # 或本地 HF 格式目录

方式二ComfyUI 拆分文件

如果你已通过 ComfyUI 下载了模型,直接填写三个文件的路径即可:

image:
  comfyui:
    text_encoder: "/path/to/ComfyUI/models/text_encoders/qwen_3_4b.safetensors"
    transformer: "/path/to/ComfyUI/models/diffusion_models/z_image_turbo_bf16.safetensors"
    vae: "/path/to/ComfyUI/models/vae/ae.safetensors"

首次运行 ComfyUI 模式时,脚本会自动从 HuggingFace 下载微型配置文件(< 100KB之后自动缓存。

LoRA 推荐

LoRA 风格 触发词 权重 来源
zyd232's Ink Style v1.2 水墨写意 ink style 0.6-1.2 Civitai
Painterly - CE 水彩/油画 - 0.8 Civitai

使用方法

交互式输入

python poetry_to_image.py

运行后按提示输入古诗词,输入空行结束。

命令行直接传入

# 唐诗
python poetry_to_image.py -p "床前明月光,疑是地上霜。举头望明月,低头思故乡。"

# 宋词
python poetry_to_image.py -p "明月几时有?把酒问青天。不知天上宫阙,今夕是何年。"

仅分析不生成图片

python poetry_to_image.py -p "大漠孤烟直,长河落日圆。" --analyze-only

指定配置文件和输出目录

python poetry_to_image.py -c my_config.yaml -o ./my_output -p "春江潮水连海平,海上明月共潮生。"

输出

  • output/poem_01.png ... poem_N.png — 生成的图片
  • output/poem_01_prompt.txt ... — 每张图片的 prompt 与画风记录
  • output/analysis.json — LLM 完整分析结果(含体裁识别、风格选择)

工作流程

古诗词输入 → LLM 体裁识别 → 意境分析 & 画风匹配 → 生成 prompt → [可选 LoRA 增强] → Z-Image-Turbo 逐一生图 → 输出

支持的画风

LLM 会根据诗意自动选择:

画风 适用场景
水墨写意 山水、边塞、禅意
青绿山水 春夏山水、壮丽河山
工笔花鸟 花卉、仕女、精致细腻
工笔重彩 华丽、宫廷、历史叙事
没骨画法 花卉、蔬果、清新淡雅
文人画 隐逸、高洁、书卷气
泼墨大写意 豪放、苍茫、气势磅礴
界画 楼阁、宫殿、城市
浅绛山水 秋冬山水、怀古
Description
No description provided
Readme 86 KiB
Languages
Python 100%