GPT Image 2.6 API 导出 SVG 矢量图:svg.model 怎么填、一张多少钱
GPT Image 2.6 SVG 收两笔钱:中间位图和写代码的模型。1024 图标 medium 在 OpenAI 约 $0.054–0.057,复杂场景常两三分钟后 502。
文章目录

GPT Image 2.6 用 API 导出 SVG 矢量图,是在 POST /v1/images/generations 上把 output_format 设成 "svg",模型用 gpt-image-2.6-flare 或 gpt-image-2.6-sunburst,再加一个 OpenAI 指南里没写的 svg 对象,在 svg.model 里指定一个能看图的文本模型,比如 gpt-6.1-terra。返回的 data[0].b64_json 解码后就是 .svg 文件。截至 2026 年 11 月 5 日(发布第二天),openai Python 库从 3.46.0 起直接支持这个参数,更早的版本要用 extra_body 传。
SVG 不是图像模型直接画出来的。API 先让图像模型画一张中间位图,再让 svg.model 指定的文本模型看着这张图写出 SVG 代码,所以一次请求有两笔费用。按 OpenAI 官方价,一张 1024×1024 的图标在 quality: "medium" 下,中间位图约 $0.043,gpt-6.1-terra 写代码约 $0.011–0.014,合计约 $0.054–0.057。写作模型换成更贵的型号,第二笔会成倍增加。
它适合图标、logo 和简单插画。细节多的整幅场景,比如一整间咖啡店内景,在老张 API 文档团队的测试里多数等了两三分钟后收到 502;这类图留在 PNG 更省事。拿到文件后还要看一眼文字是活的 <text> 还是已经转曲:三份真实的 2.6 SVG 里两种情况都有,决定了你能不能直接改字。
SVG 怎么来的:先画中间位图,再由写作模型写代码
GPT Image 2.6 的 SVG 输出分两段完成,两段各有自己的模型、参数和用量。OpenAI 图片生成指南的 SVG 一节说,API 先生成一张 reference image,再用它产出 SVG。这里的 reference image 不是你上传的参考图:它是 API 内部用顶层 model(Flare 或 Sunburst)先画的一张位图,你不用传,响应里也拿不到,下文称它为中间位图。
第二段由一个文本模型完成,下文称写作模型(OpenAI 文档里叫 authoring model),就是 svg.model 填的那个。OpenAI 开发者论坛的 SVG 讨论帖里,回帖者指出这一步是让一个带视觉能力的语言模型"看图写 SVG",不是算法描摹。所以同一张中间位图交给不同的写作模型,出来的路径数量、细节和成功率都不一样,费用也按写作模型自己的单价算。
参数也按这两段分工。quality 和 complexity 只作用于中间位图:前者决定这张位图的画质和 token 数,后者按 OpenAI 图片生成 API 参考的说法控制"规划画面花多少计算",在 SVG 输出里同样只管中间位图。svg.reasoning.effort 只管写作模型思考多少,和画面复杂度无关。响应里也有两块用量:usage 是图像模型的 token,svg_usage 是写作模型的 input_tokens、output_tokens、reasoning_tokens 和 model。

同一个 output_format 字段还能填 "gif" 生成循环动图,那是另一套参数,见 GPT Image 2.6 用 API 生成 GIF。
用 Python 或 curl 导出 SVG:从请求到存成 .svg 文件
能跑通的请求只比普通生图多两个字段:output_format: "svg" 和 svg 对象。下面以 OpenAI 直连为例,用老张 API 时只换 base_url 和 key,差别在后面的线路一节。
-
升级 Python 库:
pip install -U "openai>=3.46.0"。3.46.0 是 2026 年 11 月 5 日发布的版本,论坛回帖确认它把svg加成了正式参数。 -
发请求并保存文件。超时建议放到 300 秒,因为失败的请求往往在两三分钟后才返回:
import base64
from openai import OpenAI
client = OpenAI(timeout=300) # 读取环境变量 OPENAI_API_KEY
result = client.images.generate(
model="gpt-image-2.6-flare",
prompt="一个扁平风格的咖啡杯图标,杯子冒着热气,杯身上有一片绿色叶子图案,暖棕色和奶白色配色",
output_format="svg",
size="1024x1024",
quality="medium",
svg={"model": "gpt-6.1-terra"},
)
with open("icon.svg", "wb") as f:
f.write(base64.b64decode(result.data[0].b64_json))
print(result.usage) # 中间位图的用量
print(getattr(result, "svg_usage", None)) # 写作模型的用量-
如果暂时不能升级到 3.46.0,把
svg={...}那一行换成extra_body={"svg": {"model": "gpt-6.1-terra"}},其余不变。论坛里最早跑通的示例就是这种写法,用的写作模型是gpt-6.1-sol。 -
不用 SDK 时直接发 HTTP,再用一行 Python 解码:
curl https://api.openai.com/v1/images/generations \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2.6-flare",
"prompt": "一个扁平风格的咖啡杯图标,杯子冒着热气,杯身上有一片绿色叶子图案,暖棕色和奶白色配色",
"output_format": "svg",
"size": "1024x1024",
"quality": "medium",
"svg": {"model": "gpt-6.1-terra"}
}' -o svg.json
python3 -c "import base64,json; d=json.load(open('svg.json')); open('icon.svg','wb').write(base64.b64decode(d['data'][0]['b64_json']))"SVG 请求有几条硬限制,都写在 OpenAI 指南和 API 参考里:n 只能是 1,不支持 stream、partial_images、output_compression 和 prompt_rewriter,这些字段要从请求里删掉;只有生成接口能出 SVG。需要透明底时可以加 background: "transparent",SVG 也支持。
svg 对象要不要写,取决于账号。API 参考的原话是:开启了 SVG 模型选择的账号必须提供 svg.model,没开启的要省略整个对象;论坛回帖者观察到的是"必填"。哪些账号属于哪种情况,OpenAI 没有公开说明。所以先按上面的写法带上 svg.model,如果报错说不接受这个对象,再去掉它重试。svg.reasoning.effort 可以不写,省略时用写作模型自己的默认值。
svg.model 填哪个:gpt-6.1-terra 7 次全成,gpt-5.5 细节最好也最贵
不确定时填 gpt-6.1-terra。OpenAI 的指南和 API 参考都没说该用哪个型号,也没写对写作模型有什么要求;OpenAI 开发者论坛的回帖者认为它得是高质量、支持视觉的语言模型。目前能看到的对比来自 老张 API 的 GPT Image 2.5/2.6 接入文档:文档团队 2026 年 11 月 5 日用同一个 1024 图标提示词直连 OpenAI,每个模型至少跑 3 次,结果如下。
说明:laozhang.ai 是我们自己的服务,其价格是平台报价,不是独立比较的结论。
svg.model | 成功次数 | 单张耗时 | 写 SVG 的费用(OpenAI 官方价) | 出图效果 |
|---|---|---|---|---|
gpt-6.1-terra | 7/7 | 33–43 秒 | 约 $0.011–0.014 | 线条干净,接近 gpt-5.5 |
gpt-5.5 | 3/3 | 42–70 秒 | 约 $0.09–0.16 | 细节最好 |
gpt-6-sol、gpt-6.1-sol | 各 2/3 | 33–49 秒 | 约 $0.02–0.04 | 良好 |
gpt-5.4-mini | 3/3 | 16 秒 | 未单独给出 | 形状粗糙 |
gpt-5.6-terra | 0/3 | — | — | 不建议 |
失败的请求全部是 OpenAI 返回的 502。要注意两个名字很像的型号:gpt-6.1-terra 是 7/7,gpt-5.6-terra 是 0/3,复制时别填错。
这张表只有一个提示词,费用会随画面变化很大。同一团队更早的测试里,简单 logo 和复杂插画让写作模型输出的 token 能差到约 300 倍,所以 gpt-5.5 的 $0.09–0.16 只对简单图标成立。把 svg.reasoning.effort 调到 high 也要谨慎:同一测试里它用掉的 token 是默认档的 2.6–14 倍,图标用默认档就够。需要更多细节时,表里有依据的做法是换 gpt-5.5;调高推理档能不能换来更好的图,这组测试没有给出结论,只给出了更高的用量。
一张 SVG 多少钱:OpenAI 约 $0.054–0.057,免费写作模型约 $0.043
按 OpenAI 指南的计费说明,中间位图按图像模型的单价收费,写代码的 token 按写作模型的单价收费,总价取决于两边各用了多少 token。GPT Image 2.6 的图像输出是每百万 token $30(OpenAI API 价格页),1024×1024 的中间位图在 low 档约 824 个输出 token,medium 档约 1,449 个,这两个数来自老张 API 文档团队 2026 年 11 月 5 日的单图测试。
| 线路 | quality | svg.model | 中间位图 | 写 SVG | 每张合计 |
|---|---|---|---|---|---|
| OpenAI 直连 | low | gpt-6.1-terra | 约 $0.025 | 约 $0.011–0.014 | 约 $0.036–0.039 |
| OpenAI 直连 | medium | gpt-6.1-terra | 约 $0.043 | 约 $0.011–0.014 | 约 $0.054–0.057 |
| OpenAI 直连 | medium | gpt-6.1-sol | 约 $0.043 | 约 $0.02–0.04 | 约 $0.06–0.08 |
| OpenAI 直连 | medium | gpt-5.5 | 约 $0.043 | 约 $0.09–0.16 | 约 $0.13–0.20 |
| 老张 API 官方转发 | low | 省略,默认 gpt-6.1-terra | 约 $0.025 | 0 | 约 $0.025 |
| 老张 API 官方转发 | medium | 省略,默认 gpt-6.1-terra | 约 $0.043 | 0 | 约 $0.043 |
| 老张 API 官方转发 | medium | gpt-5.5 | 约 $0.043 | 按官方价,约 $0.09–0.16 | 约 $0.13–0.20 |
中间位图一列的算法是 824 × $30 ÷ 1,000,000 ≈ $0.025,1,449 × $30 ÷ 1,000,000 ≈ $0.043;写 SVG 一列取上一节的实测范围。提示词本身的文本输入不到 $0.001,表里忽略了。quality 一定要写:老张 API 文档记录过,不传时 Flare 会按提示词自己挑档位,一张细节多的 1024 图能用到约 5,800 个 token。
老张 API 官方转发分组的计费规则在上面那份接入文档里:中间位图按 usage 以官方价计,写作模型用默认的 gpt-6.1-terra 或另外 8 个低价模型(gpt-5.4-mini、gpt-5.4-nano、gpt-5-mini、gpt-5-nano、gpt-4.1-mini、gpt-4o-mini、gpt-5.6-luna、gpt-6-luna)时不收写作费;换成 gpt-5.5、gpt-6-sol 这类模型,按官方价折算成文本输入 token,记在 svg_usage.billed_as_text_input_tokens,免费模型这一项是 0。
自己核算时,从响应里取两块数:usage 里的图像输出 token 乘 $30/1M,再按 svg_usage 里的输入、输出 token 和写作模型的价格算第二笔。普通 PNG 各画质档在 2.6 和 2.5 上的价格差,见 GPT Image 2.6 和 2.5 区别:low/medium 贵 3–4 倍,high 档起同价。
老张 API 哪条线路能出 SVG:只有 OpenAI Official 分组
在老张 API 上要出 SVG,令牌必须属于 OpenAI Official 或 OpenAI Official Enterprise 分组,模型 ID 用不带后缀的 gpt-image-2.6-flare 或 gpt-image-2.6-sunburst。按次计费的 -vip 和 -web 线路不出 SVG。2026 年 11 月 5 日用默认分组的 key 做了三次探测,三次都是非 200 响应,不扣费:
gpt-image-2.6-flare-vip加output_format: "svg":返回 400,GIF and SVG output are not supported on this route; use gpt-image-2.6-flare / gpt-image-2.6-sunburst in the OpenAI Official group.gpt-image-2.6-web加output_format: "svg":返回 400,SVG output is not supported on this route; use gpt-image-2.6-flare / gpt-image-2.6-sunburst in the OpenAI Official group.- 默认分组的 key 直接调
gpt-image-2.6-flare:返回 503,Current group default has no available channels for model gpt-image-2.6-flare。
所以看到第三条报错,不是模型名写错了,是 key 的分组不对,要在控制台换一个 OpenAI Official 分组的令牌。这组探测只能证明哪条线路会拒绝,没有拿到 SVG;前面表里的成功率、耗时和单价来自文档团队用官方转发和直连 OpenAI 的测试。
换好分组后,请求体和上面 OpenAI 的写法一样,base_url 改成 https://api.laozhang.ai/v1。省略 svg.model 时网关默认用 gpt-6.1-terra,这是老张 API 的默认值,不是 OpenAI 的。写作模型填了图像模型会返回 model_not_found;填了不支持的文本模型返回 unsupported_svg_model,不扣费。OpenAI 返回 502 时网关会重试或切换,全部失败时一般返回 svg_generation_failed,同样不扣费,也不收中间位图的钱。
说明:laozhang.ai 是我们自己的服务,其价格是平台报价,不是独立比较的结论。
等了两三分钟还失败:细节多的整幅场景会 502
SVG 失败多半跟画面复杂度有关,跟参数无关。老张 API 文档团队 2026 年 11 月 5 日用一个"整间咖啡店内景"的提示词测试,gpt-6.1-terra 4 次全部失败,每次都在 150–170 秒后收到 OpenAI 的 502;换其他写作模型,复杂提示词也大多在 30–200 秒后 502,而简单图标一直稳定。文档对此的解释是:画面越满,写作模型要写的 SVG 代码越长,费用和等待时间都跟着涨。
判断一张图该不该走 SVG,看它是不是"几块形状加几种颜色"。图标、logo、扁平插画这类图适合 SVG,测试里生成稳定,文件也只有几 KB;照片感的画面、带光影和大量纹理的整幅场景,失败率高,就算成功,代码也会很长,改起来未必比位图方便。后一类留在 PNG 更合适。如果你要的其实是一张能叠到其他背景上的透明位图,用 output_format: "png" 加 background: "transparent",生成后怎么判断真假透明见 GPT Image 透明背景变棋盘格:真假透明怎么判断、怎么修。
遇到复杂画面 502,老张 API 文档给的办法是稍后重试或简化提示词。简化的一种做法是把场景拆成几个单独的图标分别生成,再在矢量编辑器里拼起来,每一张都落在测试里稳定的那一类。
矢量 logo 提示词怎么写:形状少、颜色少、留足边距
写矢量 logo 的提示词,要让中间位图本身就"像矢量图",写作模型才能用少量路径还原它。OpenAI 提示词指南里的可复用 logo 示例给了几条:写清品牌名和构成标志的形状;要求干净的、类似矢量的形状,轮廓鲜明,负空间均衡;扁平设计、少描边、非必要不用渐变;完全透明背景,单个居中的 logo,四周留足边距。同一个提示词加上 output_format="svg" 和 n=1 就能出 SVG。
"非必要不用渐变"对 SVG 的影响很直接。老张 API 文档里那张咖啡图标,示例提示词是"一个扁平风格的咖啡杯图标……暖棕色和奶白色配色",没提背景和渐变,生成的文件里有 5 个渐变、13 种填充色,还铺了一整块深色渐变背景;OpenAI 示例的 Flare logo 按上面的写法提示,只用了 2 种填充色。颜色越少,后面改色越省事。通用的提示词写法见 GPT Image 2.6 提示词写法。
拿到的 SVG 能不能直接改:三份 2.6 文件的检查结果
能改,但要先看文字有没有转曲。2026 年 11 月 5 日,用 rsvg-convert 在 Mac 上检查了三份真实的 GPT Image 2.6 SVG:OpenAI 指南里同一提示词生成的 Flare 版 Field & Flour logo 和 Sunburst 版,以及老张 API 文档里那张用 Flare 和默认 gpt-6.1-terra 生成的咖啡图标。
| 文件 | 大小 | 主要元素 | 文字 | 位图、外链、脚本 | 64 px 和 2048 px 渲染 | 改一个色值 |
|---|---|---|---|---|---|---|
| Flare,Field & Flour | 4,976 字节 | 12 个 path、1 个 circle、5 个 g | 字标已转曲,全是路径 | 无 | 正常 | 生效,该色值 1 处 |
| Sunburst,Field & Flour | 4,571 字节 | 24 个 path、1 个 rect、2 个 text | 2 个活的 <text>,没转曲 | 无 | 正常 | 生效,该色值 2 处 |
| Flare,咖啡图标 | 3,791 字节 | 12 个 path、5 个 ellipse、2 个 rect、5 个渐变 | 无文字,<title> 用提示词的语言 | 无 | 正常 | 生效,该色值 1 处 |
三份的 viewBox 都是 0 0 1024 1024,都不到 5 KB。分组也有可读的 id,比如 loaf、steam、cup、handle,在编辑器里能按名字找到面包、热气、杯子。差别在文字:Sunburst 版的 "Field & Flour" 写的是 font-family="Georgia, 'Times New Roman', serif","BAKERY" 是 Arial, Helvetica, sans-serif,打开文件的电脑装了什么字体,字就长什么样,好处是能直接改字;Flare 版把字画成了路径,在哪里打开都一样,但改字要重画。三份文件不足以说明 2.6 总会或从不转曲,每份新文件都要自己看。Figma、Illustrator 的导入没有实测,从结构看,三份都只用了 path、基本图形、分组和渐变这些基础元素。

拿自己的文件照下面检查一遍,五步都在终端里完成(rsvg-convert 在 Mac 上用 brew install librsvg 安装):
- 看文字有没有转曲:
grep -c "<text" icon.svg。结果大于 0 说明有活文字,要确认font-family里的字体在用的地方有;结果是 0 说明文字已经转曲,或者图里本来就没字。 - 看有没有位图和外部资源:
grep -n -E "<image|data:|<script|<foreignObject" icon.svg应该没有输出。OpenAI 说明返回的是静态矢量内容,不含脚本、外部资源和内嵌位图;有输出就别直接放进网页。 - 小尺寸和大尺寸各渲染一次:
rsvg-convert -w 64 icon.svg -o icon-64.png和rsvg-convert -w 2048 icon.svg -o icon-2048.png,看 64 px 时细线和小字是否还认得出。 - 列出用了哪些颜色:
grep -o -i -E "#[0-9a-f]{6}" icon.svg | sort | uniq -c。颜色太多、或者有一整块背景色,说明提示词该收紧。 - 改一个色值再渲染:
sed 's/#70371c/#1f4fd1/g' icon.svg > icon-blue.svg,把#70371c换成你文件里的色值。注意同一个色值可能出现在好几处,Sunburst 样本就有 2 处,全部替换才能整体改色。
能不能把现有 PNG 转成 SVG,或者编辑 SVG:两条都不行
GPT Image 2.6 目前不能把你手上的 PNG 或旧 logo 转成 SVG,也不能编辑已经生成的 SVG,原因各不相同。SVG 只能从 POST /v1/images/generations 出,这个接口只吃文字提示词,不收你的图片;能收图片的编辑接口 /v1/images/edits 又不支持 SVG 输出。反过来,SVG 文件也不能作为编辑接口的输入图:OpenAI 指南写明 SVG 不是编辑接口支持的位图输入,API 参考也写着"SVG edits are not supported"。
所以要改一个已经生成的 SVG,有两条路:它本身是文本,小改动(换色、删一个分组、调字号)直接改代码或在矢量编辑器里改;大改动就改提示词重新生成。想在一张位图上圈出某处让模型改,那是编辑接口的 markup 功能,输出的是位图,做法见 GPT Image 2.6 用 API 做 markup 圈选编辑。
参考来源7
本文引用的外部页面,按正文出现顺序排列。最后更新于 2026年11月5日。
参考来源7
本文引用的外部页面,按正文出现顺序排列。最后更新于 2026年11月5日。
- 1.OpenAI 图片生成指南的 SVG 一节developers.openai.com/api/docs/guides/image-generation
- 2.OpenAI 开发者论坛的 SVG 讨论帖community.openai.com/t/1412920
- 3.OpenAI 图片生成 API 参考developers.openai.com/api/reference/resources/images/methods/generate
- 4.OpenAI API 价格页developers.openai.com/api/docs/pricing
- 5.OpenAI 提示词指南里的可复用 logo 示例developers.openai.com/api/docs/guides/image-prompting
- 6.Flare 版 Field & Flour logodevelopers.openai.com/images/platform/guides/image-prompting/field-and-flour-gpt-image-2-6-flare.svg
- 7.Sunburst 版developers.openai.com/images/platform/guides/image-prompting/field-and-flour-gpt-image-2-6-sunburst.svg





