大模型按图写HTML:一场小小的视觉到代码测试
这次测试很简单:给每个模型发一张网页截图,要求完全相同——给我按照图片写一个一样的 HTML。
原网页:关于我 - 神代綺凛の随波逐流
不给额外提示,不允许追问,看看谁能准确理解视觉内容并转换成可用的代码。
🎯 成绩单速览
测试模型:14 个
完美完成:9 个
部分问题:3 个
翻车:2 个
不支持多模态:1 个 - MiniMax
| 模型 | 状态 |
|---|---|
| Claude Opus 4.8 | ✅ 完美 |
| Claude Sonnet 4.6 | ✅ 完美 |
| DeepSeek | ⚠️ 空格对齐 |
| Doubao Expert | ✅ 完美 |
| Gemini 3.1 Pro | ⚠️ 文字被遮挡 |
| GLM | ❌ 白屏 |
| GPT-5.3 Mini | ✅ 完美 |
| GPT-5.5 high | ✅ 完美 |
| Grok Fast | ⚠️ 自由发挥 |
| Grok-4.20-beta-0309-reasoning | ✅ 完美 |
| Kimi K2.6 Fast | ❌ 抠图失败 |
| MiMo-V2.5 | ✅ 完美 |
| Qwen3.7-Max | ✅ 完美 |
| Steed-0611 | ✅ 完美 |
⚠️ 部分问题(3/14)
以下模型完成了任务,但存在明显缺陷:
DeepSeek — 标签上面的文字只是加了空格,并不是和标签完整对齐,用不了。没用 CSS 做定位,纯靠空格凑,不够精确。

Gemini 3.1 Pro — 把标签上面的文字位置放错了,正好被标签挡住,完全用不了。视觉理解有问题,没考虑 z-index 或布局顺序。

Grok Fast — 完全没按要求来,虽然写的效果还行,但大小写自己瞎编,该是标签的内容写到标签里去了。理解偏差严重,自由发挥过度。

这三个模型都”看懂”了图片要表达什么,但在实现细节上出了问题:
- DeepSeek 用原始方法(空格)而非现代 CSS 布局
- Gemini 的层级错误导致文字被遮挡
- Grok Fast 理解了意图但没遵守原图的具体要求
❌ 翻车(2/14)
GLM (初次) — 生成了图片而不是 HTML,理解错任务目标。
GLM (提醒后) — 生成的是白屏,根本用不了,实现失败,无可用输出。

Kimi K2.6 Fast — 直接用 Python 把图片里的元素抠出来了,但是抠歪了,非常难看。这个操作很难评价——有创意但实用性存疑,一般都要自己重新调图片。

Kimi K2.6 Fast 是唯一一个试图”抠图”的模型,虽然方向有意思,但实际效果不佳且不符合常规需求(开发者通常需要可编辑的 HTML/CSS,而不是处理过的图片)。
GLM 的表现则是完全偏离任务要求。
✅ 完美完成(9/14)
以下模型准确理解了图片内容,生成的 HTML 可直接使用且美观程度合格:









这些模型都老老实实地分析图片内容,编写了结构化的 HTML + CSS,没有偷懒也没有过度发挥。
几点观察
1. 视觉理解 ≠ 代码实现
大部分模型都能”看懂”图片内容,但将视觉理解转换为可用代码时出现分化:
- 完美组:直接生成标准 HTML + CSS,布局合理
- 问题组:理解正确但实现有瑕疵(层级、对齐方式)
- 翻车组:理解错误或采用非常规方法
2. Thinking 模式的”创造性”翻车
Kimi K2.6 Fast 是唯一试图用 Python 图像处理的模型,这说明:
- Thinking 模式确实会探索”非常规路径”
- 但这种创造性在实际开发场景中可能适得其反
- 开发者需要的是可编辑、可维护的代码,而不是”处理过的图片”
3. 空格对齐 vs CSS 定位
DeepSeek 用空格来对齐文字,这是 20 年前的做法:
- 在不同字体、字号、浏览器下会错位
- 无法响应式适配
- 维护困难
现代 HTML 应该用 position: absolute、flexbox 或 grid 实现精确定位。
4. 层级问题暴露测试盲区
Gemini 3.1 Pro 把文字放在标签下方导致被遮挡,说明:
- 模型理解了”标签”和”文字”的存在
- 但没有正确理解它们的层级关系和视觉优先级
- 缺少”用户能否看到所有元素”的验证思维
5. 任务理解的重要性
GLM 的翻车最为根本——它没理解”按图片写 HTML”的意思:
- 第一次直接生成图片
- 第二次生成了无效的 HTML
- 说明多模态任务需要模型对”输入类型”和”输出类型”有明确认知
6. 大模型”瞎编”现象依然存在
Grok Fast 虽然写出了可用的 HTML,但完全不符合原图:
- 大小写随意更改
- 标签内容混乱
- 说明模型有时会”理解意图”但不遵守”具体要求”
- 这在需要精确复现的场景下是致命问题
结论
这次测试的 prompt 极其简单——“给我按照图片写一个一样的 HTML”——但结果分化明显:
- 9/15 的模型能完美完成任务,生成可直接使用的代码
- 3/15 的模型理解正确但实现有缺陷,需要手动修复
- 2/15 的模型完全翻车,要么理解错误要么方法不当
- 1/15 的模型不支持多模态输入,无法参与
最大的启示:
- 多模态理解能力已经很强,但视觉到代码的转换仍是难点
- Thinking 模式的创造性可能带来意外的”非标准解法”
- 简单任务的失败往往源于层级关系、定位方式等细节理解
- 即使模型”看懂了”图片,也可能在实现细节上翻车
对开发者的建议:
- 视觉转代码任务需要验证输出,不能盲目信任
- 对于需要精确复现的场景,应该提供更详细的要求(如”使用 flexbox 布局”、“确保所有文字可见”)
- Thinking 模式的”抠图”行为提醒我们:创新方法需要结合实际需求场景
TL;DR:给 14 个大模型同一张图让它们写 HTML,9 个完美,3 个有瑕疵(文字遮挡/空格对齐/自由发挥),1 个抠图抠歪,GLM 干脆生成了白屏,MiniMax 不支持多模态直接出局。Kimi K2.6 Fast 独树一帜用 Python 抠图但效果不佳,Gemini 3.1 Pro 把文字挡住了,DeepSeek 还在用空格凑对齐。多模态理解很强,但视觉到代码的转换仍是难点,尤其在层级关系、定位方式等细节上容易翻车。
文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!














