让插图更好看的3种模式:AutoFigure AI图像增强功能(none/code/code2prompt)完整解析
【免费下载链接】AutoFigure项目地址: https://gitcode.com/gh_mirrors/au/AutoFigure
AutoFigure 是一个开源的 AI 科学插图生成系统(ICLR 2026),能从文本描述或论文 PDF 自动生成可发表级别的科学插图。其中最实用的亮点是AI 图像增强(Beautification)功能——它提供none、code、code2prompt三种增强模式,把简单的黑白布局草稿一键变成色彩专业、可直接用于论文和博客的精美科学插图。本文将带你完整看懂这三种模式的原理、区别和选择技巧。
🎨 AutoFigure 图像增强是做什么的?
在生成流程中,AutoFigure 会先输出一张黑白布局图(基于 mxGraph XML / SVG 的方框 + 箭头草稿)。布局虽然准确,但离" publication-ready(可发表级别)"还差一步。
图像增强就是在布局定稿后,调用图像生成模型按你指定的"艺术风格(Art Style)"对草稿进行视觉美化:
- 把灰底的
[icon]: 描述占位矩形替换成真正的小图标 - 保留草稿中所有外部文字标签,一个字符都不改
- 应用你指定的配色、阴影、渐变等风格化效果
增强功能的核心实现在 autofigure/enhancer.py 的ImageEnhancer.enhance()方法中,input_type参数就对应三种模式:none、code、code2prompt,默认值在 autofigure/config.py 中定义为code2prompt。
🔍 三种模式一图看懂
| 模式 | 给 AI 的"参考信息" | 需要的 API | 适用场景 |
|---|---|---|---|
| none | 仅布局 PNG 图片 | 只需图像生成 API | 快速美化、快速出图 |
| code | 布局 PNG + 原始 SVG/XML 代码 | 只需图像生成 API | 需要严格还原坐标与结构(SDK 支持) |
| code2prompt | 布局 PNG + LLM 生成的详细提示词 | 需要 LLM + 图像生成双 API | 追求最高质量(官方推荐) |
三种模式的提示词构建逻辑都在 autofigure/enhancer.py 的_build_enhancement_prompt()中,可以按你的兴趣直接阅读源码。
1️⃣ none 模式:直接美化,最省心
none模式不使用任何代码参考,直接把布局图片交给图像模型,由 AI 视觉理解画面:哪些方框要保持位置比例、哪些灰色占位块要换成图标、哪些文字必须原样保留。
它的优点是链路最短——只需配置一个图像生成 API,无需额外的 LLM。缺点是 AI 只能"看图说话",对复杂图形的细节还原依赖图像模型自身的能力。
适合场景:图比较简单、想快速看看美化效果、或者不想多配一套 LLM API 的情况。
2️⃣ code 模式:让代码当"工程图纸"
code模式(SVG code 参考模式)会把原始 mxGraph XML / SVG 源码(最多 5000 字符)作为"TECHNICAL REFERENCE(技术参考)"随图片一起提交给图像模型,提示它严格按照代码中的坐标、尺寸、连接关系来绘制。
可以把它理解为:none 给 AI 一张"照片",code 给 AI 一张"工程图纸",结构还原度更高。
需要注意的是,code 模式目前主要在Python SDK中支持:在 autofigure/agent.py 的generate()参数里传enhancement_input_type="code",SDK 会自动读取生成的 SVG/XML 文件作为增强输入(见 autofigure/agent.py)。Web 端美化对话框只提供 none 和 code2prompt 两个选项。
3️⃣ code2prompt 模式:两步走的推荐方案
code2prompt是界面中标注Recommended(推荐)的模式,也是 autofigure/config.py 里的默认值。它分两步走:
- 第一步(LLM):大语言模型逐行分析 mxGraph XML 代码,识别占位图标(
[icon]:前缀)、箭头连接、文字标签和空间关系,生成一份结构化的详细绘图提示词(包含整体场景、视觉元素、需保留文字、风格实现、布局连接 5 个部分)。核心函数是 autofigure/enhancer.py 的convert_code_to_text2image_prompt()。 - 第二步(图像模型):图像模型拿着这份"文字说明书" + 布局草稿 + 艺术风格来渲染最终插图。
因为提示词已经把代码中的每个元素都翻译成了具体的视觉描述,图像模型收到的指令远比"看图美化"精确,最终效果最好。代价是需要同时配置 LLM API 和图像生成 API两套密钥。
一个贴心的细节:如果 LLM 转换提示词这一步失败,后端会自动降级回 none 模式继续美化,不会直接报错(逻辑见 backend/autofigure_routes.py)。
🛠️ 三步上手:如何开启图像增强?
无论哪种模式,都需要先完成布局定稿(Finalize)。之后的操作很轻量:
- 填写艺术风格:在美化对话框中描述你想要的风格,例如"modern scientific illustration with pastel colors",所有模式共用这一风格描述(
art_style参数)。 - 选择增强模式:
- Web 界面:打开美化对话框二选一(Direct Beautification = none;Code2Prompt = code2prompt),对应组件是 frontend/components/autofigure/BeautificationDialog.tsx,模式类型定义在 frontend/lib/autofigure-types.ts。
- Python SDK:调用
generate()时传enable_enhancement=True,并用enhancement_input_type指定none/code/code2prompt三种模式中的任意一种。
- 配置 API 密钥并选择变体数量:所有模式都必填图像生成 API(Provider / API Key / Model / Base URL);code2prompt 额外必填 LLM API Key。
enhancement_count参数可一次生成多个候选变体,方便对比挑选。
增强结果会保存为xxx_enhanced.png(多变体时带_1、_2编号),与原草稿放在同一输出目录,对比查看很方便。
❓ 新手常见问题
Q1:没有 LLM API Key 能用增强功能吗?可以。选择 none 模式(Web 和 SDK 都支持),只配置图像生成 API 即可。
Q2:code 模式和 code2prompt 模式到底差在哪?两者都是"拿代码当参考"。code 是直接把源码贴给图像模型;code2prompt 是先让 LLM 把源码"翻译"成自然语言绘图指令再交给图像模型。后者指令更明确、对占位图标和文字保留的处理更精细,因此官方推荐。
Q3:文字会不会被 AI 改错?三种模式的提示词都明确要求"外部文字必须逐字保留、[icon]:说明文字必须替换为图标且不留残余",但 AI 生图仍有个别字符误差的可能,建议开启多个变体并逐字核对关键标签。
Q4:支持哪些服务商?图像生成侧支持 openrouter、bianxie、gemini 三家(见 autofigure/config.py 的默认模型配置),代码层面三者由 autofigure/enhancer.py 分别调用不同的 API 格式,切换只需改enhancement_provider。
📝 小结
- none:只看图直接美化,配置最简单,适合快速出效果
- code:附带源码当图纸,结构还原更严格(SDK 用户优选)
- code2prompt:LLM 翻译 + 图像渲染两步走,质量最佳,是官方默认推荐
三种模式共用同一套艺术风格描述与多变体机制,配合 AutoFigure 的迭代生成能力,从"能看懂的草稿"到"能发论文的插图"只差一次点击。想深入了解完整流水线,可以继续阅读 autofigure/agent.py 中的生成与增强编排逻辑。
【免费下载链接】AutoFigure项目地址: https://gitcode.com/gh_mirrors/au/AutoFigure
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考