智能风景图片生成 (txt-to-image)
根据用户给出的风景/景色描述,生成一张 PNG 或 JPG 图片。适合快速制作山川、湖泊、森林、海边、日落、星空、雪山、草原等自然景观图,也适合做简单壁纸、背景图、旅行氛围图。
本技能使用内置脚本 scripts/txt_to_image.py 通过 Python + Pillow 进行本地程序化绘制,不依赖外部图片生成 API。它不是照片级扩散模型,但可以稳定、快速地把文字提示词转换成有氛围的风景插画/背景图。
什么时候使用这个技能
遇到以下需求时优先使用:
- “帮我生成一张风景图片”
- “画一张日落海边/雪山湖泊/森林晨雾图”
- “把这个景色描述生成 PNG”
- “生成一张 16:9 的山水背景图/壁纸”
- “根据这段 txt 里的景色描写做成图片”
- 用户提供自然景观、旅行地点、季节、天气、光线、色彩氛围等描述,并希望输出图片文件
与相邻需求的区分:
- 如果用户要的是人物肖像、角色卡、人物介绍图,不要用本技能。
- 如果用户要的是复杂海报、网页、营销落地页、UI 视觉稿,优先使用
frontend-design。 - 如果用户要的是真实照片级 AI 绘图并指定外部模型,本技能只能提供本地程序化风景插画;需要如实说明能力边界。
- 如果用户要处理 PDF/DOCX/PPTX/XLSX,使用对应文档类技能。
核心脚本
使用 scripts/txt_to_image.py。总是优先调用这个脚本,不要临时重写绘图逻辑;脚本已处理画布比例、中文字体、提示词解析、风格色彩、随机种子、JPG/PNG 保存等细节。
基本用法
# 直接用提示词生成风景图
python scripts/txt_to_image.py --prompt "雪山、湖泊、清晨薄雾、金色阳光" --output landscape.png
# 从 txt 文件读取景色描述
python scripts/txt_to_image.py --input scene.txt --output scene.jpg
# 指定画幅、风格和随机种子,保证可复现
python scripts/txt_to_image.py \
--prompt "傍晚海边,橙紫色天空,远处帆船,温柔浪花" \
--output sunset.png \
--aspect 16:9 \
--style watercolor \
--seed 42
# 添加底部标题/短句
python scripts/txt_to_image.py \
--prompt "森林小路,晨雾,阳光穿过树叶" \
--caption "清晨森林" \
--output forest.png
参数说明
| 参数 | 默认 | 说明 |
|---|---|---|
--prompt |
无 | 直接输入风景描述;与 --input 二选一,若都提供则优先使用 --prompt |
--input / -i |
stdin | 输入 .txt 文件路径;省略且无 --prompt 时从标准输入读取 |
--output / -o |
必填 | 输出图片路径,后缀 .png 或 .jpg/.jpeg 决定格式 |
--width |
1280 | 输出宽度;若指定 --height 则按给定尺寸,否则按 --aspect 计算高度 |
--height |
自动 | 输出高度;指定后会覆盖 --aspect 计算结果 |
--aspect |
16:9 |
画幅比例,如 1:1、4:3、3:4、16:9、9:16 |
--style |
auto |
风格:auto、watercolor、flat、ink、vivid、pastel、night |
--seed |
自动 | 随机种子;设置后可复现同一构图 |
--caption |
无 | 图片底部短标题/说明文字 |
--font |
自动 | 指定字体路径;默认优先使用 /usr/share/fonts 下的中文字体 |
--jpeg-quality |
92 | JPEG 质量 1–95,仅 .jpg/.jpeg 生效 |
智能解析规则
脚本会从提示词中识别以下信息并影响画面:
- 场景主体:山/雪山、湖/河、海/沙滩、森林/树、草原、星空、城市远景等
- 时间光线:日出、黄昏/日落、夜晚、清晨、正午
- 天气氛围:雾、云、雨、雪、晴朗
- 色彩与风格:粉彩、水彩、国风水墨、鲜艳、夜景等
- 构图比例:由
--aspect或用户显式要求的“横版/竖版/方图/壁纸”决定
如果用户只说“生成一张风景图”而没有细节,默认生成一张横版 16:9 的山湖日落风景图;无需反复追问。只有在用户对尺寸、文件名或风格有明确约束但没有给出时,才简短确认。
推荐工作流
- 确认输入来源:
- 用户直接描述 → 用--prompt。
- 用户给.txt文件 → 用--input <path>。
- 用户贴了很长文本 → 可先Write到/workspace/<合适文件名>.txt再调用脚本。 - 确定输出路径:默认放到
/workspace/<合适英文文件名>.png。 - 选择画幅:
- 壁纸/背景图 →--aspect 16:9。
- 社媒头像/封面小图 →--aspect 1:1。
- 手机壁纸 →--aspect 9:16。 - 选择风格:
- 用户没指定 →--style auto。
- 温柔氛围 →--style pastel或watercolor。
- 国风山水 →--style ink。
- 夜空星河 →--style night。 - 执行脚本并验证:用
file或python检查图片尺寸,必要时用ImageRecognition查看实际效果。 - 交付产物:通过
ReturnArtifacts返回生成的图片。
质量建议
- 提示词越具体,画面越符合预期。优先保留用户的地点、季节、时间、天气、主体和色彩要求。
- 如果用户要求“真实摄影级”,需要说明本技能生成的是程序化插画风景,不是扩散模型照片。
- 如果首张图不满意,可换
--seed或调整--style重新生成。 - 不要把人物、敏感真实地点监控图、证件照、数据图表等需求硬塞进本技能。
依赖
- Python 3
- Pillow(
pip install pillow,多数环境已安装) - 系统字体:优先使用
/usr/share/fonts下的 CJK 字体,如 Noto CJK、文泉驿、DejaVu 等。