本文档提供了 screenshot-to-code 应用程序中图像生成系统的详细技术概述。该系统负责识别 AI 生成代码中的占位符图像,并根据 alt 文本描述用 AI 生成的图像替换它们。
图像生成系统是在代码生成后运行的可选后处理步骤。启用后,它会扫描 HTML 中的占位符图像(特别是 URL 以“https://placehold.co”开头的图像),提取其 alt 文本作为提示,然后生成真实图像进行替换。
来源: backend/image_generation/core.py96-158 backend/image_generation/replicate.py5-65
图像生成过程在 AI 生成 HTML 代码后触发。代码生成的 WebSocket 处理程序调用 perform_image_generation(),该函数确定要使用的图像模型并触发图像生成过程。
来源: backend/routes/generate_code.py41-73 backend/routes/generate_code.py418-436
该系统支持两种不同的图像生成模型
perform_image_generation() 函数中包含模型选择逻辑
来源: backend/routes/generate_code.py41-73
负责图像生成的主要函数是 core.py 中的 generate_images()
| 功能 | 目的 |
|---|---|
generate_images() | 处理 HTML 以查找和替换占位符图像的主要入口点 |
process_tasks() | 并行创建和运行图像生成任务 |
generate_image_dalle() | 使用 DALL-E 3 生成图像 |
generate_image_replicate() | 使用 Replicate 的 Flux 模型生成图像 |
call_replicate() | 向 Replicate 的服务发出 API 调用 |
perform_image_generation() | WebSocket 处理程序中的集成点 |
来源: backend/image_generation/core.py96-158 backend/image_generation/core.py10-36 backend/image_generation/core.py39-52 backend/image_generation/core.py55-67 backend/image_generation/replicate.py5-65 backend/routes/generate_code.py41-73
图像生成系统按照以下步骤处理 HTML
<img> 标签alt 属性来源: backend/image_generation/core.py96-158
该系统实现了一个缓存机制,以避免在代码更新过程中重复生成相同的图像
image_cache 字典传递给 generate_images() 函数来源: backend/routes/generate_code.py204-210 backend/image_generation/core.py100-137
使用 DALL-E 3 时,系统使用以下参数
| 参数 | 值 | 描述 |
|---|---|---|
model | "dall-e-3" | 特定的 DALL-E 模型版本 |
quality | "standard" | 图像质量设置 |
style | "natural" | 图像风格设置 |
n | 1 | 要生成的图像数量 |
size | "1024x1024" | 图像尺寸 |
来源: backend/image_generation/core.py39-52
通过 Replicate 使用 Flux Schnell 时,系统使用以下参数
| 参数 | 值 | 描述 |
|---|---|---|
num_outputs | 1 | 要生成的图像数量 |
aspect_ratio | "1:1" | 图像纵横比 |
output_format | "png" | 图像格式 |
output_quality | 100 | 质量设置(最大值) |
来源: backend/image_generation/core.py55-67 backend/image_generation/replicate.py5-65
图像生成系统包含强大的错误处理机制,以确保即使图像生成失败,代码生成过程也能继续进行
来源: backend/image_generation/core.py10-36 backend/image_generation/replicate.py22-65
代码库包含一个独立的评估工具(run_image_generation_evals.py),该工具允许使用一组标准提示来测试和比较不同图像生成模型的输出。