APIMODELSAPIMODELS

GPT Image 2.6 的 GIF 动图和 SVG 矢量图怎么调用

TL;DR 一句话:能。在 apimodels.app 上调 gpt-image-2.6-flare 或 gpt-image-2.6-sunburst,output_format 传 "gif"(再加 frame_count 2–16 和 frame_duration_ms)或 "svg"。SVG 只能文生图,一次一张,每张固定 $0.0315。GIF 按 token 计费,单价比 OpenAI 低 10%,6 帧低画质实测约 3.4 美分。

模型页:GPT Image 2.6 Flare API · GPT Image 2.6 Sunburst API —— 价格、规格与在线体验

GIF 是把所有帧画在一张帧图上再切开的,所以帧数越多,每帧越小:3 到 4 帧时每边最大 1920 像素,9 到 16 帧时 960 像素。只传 aspect_ratio 和 resolution 时,apimodels.app 会把每帧自动缩到放得下的最大尺寸;传精确的单帧尺寸时先按原样发送,放不下才按原比例缩小。2026 年 11 月 7 日实测,4 到 16 帧的 GIF 用时 10 到 24 秒。

SVG 是静态矢量文件,不含脚本、外部资源或内嵌位图,画布最大约 1024x1024,适合图标、Logo 和扁平插画。它不能把现成的位图转成矢量,因为 SVG 输出不接受参考图。实测一张 SVG 约 40 秒。

做贴纸类 GIF 时,在提示词里要求纯绿幕背景:每一帧外圈都是纯色绿幕时,apimodels.app 会自动抠成透明,结果仍是 GIF,帧数和帧时长不变。想保留绿底就传 background "opaque"。GIF 的像素只有全透明和不透明两种,做不出柔和的半透明边。

参数

字段取值说明
output_formatgif / svg(或 png / jpeg / webp)决定输出文件类型
frame_count2–16,缺省 9仅 GIF;超过 16 直接报错
frame_duration_ms20–2000,缺省 200仅 GIF;每帧毫秒数
aspect_ratio + resolution例如 1:1 + 1K每帧自动缩到放得下的尺寸
image_urls最多 16 张参考图GIF 可以;SVG 不行(只能文生图)
n1–10SVG 只能 1
backgroundauto / transparent / opaqueGIF:传 opaque 保留绿幕,不自动抠图
mask图片链接不能和 GIF 同用(返回 400)
qualitylow / medium / high对 SVG 不起作用

GIF 每帧能多大

整张帧图的长边不能超过 3840 像素、总像素不超过 8,294,400;帧数乘以单帧像素至少 655,360(4 帧 512x512 可以,4 帧 256x256 不行)。

帧数网格单帧上限示例尺寸
22x1拼接的那一边 ≤1920,另一边 ≤38401920x1088
3–42x2两边都 ≤19201440x1440
5–84x2短边 ≤960,长边 ≤1920960x960、1344x768
9–164x4两边都 ≤960720x720、944x528

多少钱

SVG 每张固定 $0.0315,不分画质。GIF 按实际用掉的 token 计费,单价比 OpenAI 低 10%(图像输出每百万 token $27,OpenAI 是 $30),所以帧数、单帧尺寸、画质和参考图都会影响价格。我们实测 6 帧低画质 GIF 约 3.4 美分,带一张参考图、默认画质的 GIF 约 9 美分。失败不扣费;Flare 和 Sunburst 的 GIF、SVG 价格相同。

不适合做什么

别指望 SVG 出照片级画面,也别指望它把你现有的 Logo 文件描成矢量:SVG 只按提示词画。别规划大尺寸 GIF:超过 8 帧后每帧最大 960 像素。GIF 不能和蒙版同用,要局部改动先改静图,再拿静图做动图。GIF 没有半透明,边缘是硬的;需要柔和边缘就在自己的流程里转成 APNG 或 WebP。

调用示例

cURL

# SVG: text-to-image only, n = 1, flat $0.0315
curl -X POST https://api.apimodels.app/v1/images/generations \
  -H "Authorization: Bearer $APIMODELS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "model": "gpt-image-2.6-flare", "prompt": "a flat two-color icon of a coffee cup with steam", "output_format": "svg" }'

# Animated GIF: 12 frames, 120 ms each, green screen keyed out to transparent
curl -X POST https://api.apimodels.app/v1/images/generations \
  -H "Authorization: Bearer $APIMODELS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "model": "gpt-image-2.6-flare", "prompt": "a cartoon cat waving, solid #00FF00 background, loopable", "aspect_ratio": "1:1", "resolution": "1K", "output_format": "gif", "frame_count": 12, "frame_duration_ms": 120 }'

# Both return { "data": { "taskId": "..." } }; poll GET /v1/images/generations?task_id=...

Python

import os, time, requests

B = "https://api.apimodels.app/v1"
H = {"Authorization": f"Bearer {os.environ['APIMODELS_API_KEY']}"}

r = requests.post(f"{B}/images/generations", headers=H, json={
    "model": "gpt-image-2.6-flare",
    "prompt": "a cartoon cat waving, solid #00FF00 background, loopable",
    "aspect_ratio": "1:1", "resolution": "1K",
    "output_format": "gif", "frame_count": 12, "frame_duration_ms": 120,
})
task_id = r.json()["data"]["taskId"]

while True:
    d = requests.get(f"{B}/images/generations", headers=H, params={"task_id": task_id}).json()["data"]
    if d["state"] in ("completed", "failed"):
        print(d.get("resultUrls") or d.get("failMsg"), d.get("credits")); break
    time.sleep(3)

常见问题

用 OpenAI SDK 能拿到 GIF 吗?

GIF 和 SVG 请用普通 HTTP 请求。SDK 的 images.generate 带 size 走的是一次调用拿图的路径,只用于普通 PNG、JPEG、WebP;GIF、SVG、蒙版和标注图改图走任务接口:先创建任务,再轮询结果。

一个 GIF 最多几帧?

2 到 16 帧,缺省 9 帧。超过 16 帧会直接报错;网上流传的「2–64 帧」是早期说法,已经不适用。

能把 PNG 的 Logo 转成 SVG 吗?

不能。SVG 输出只支持文生图,不接受参考图,它是按提示词重新画一张矢量图,不是描摹现有文件。可以用文字描述 Logo,或者用专门的矢量化工具做描摹。

GIF 用 Flare 还是 Sunburst?

两档都支持 GIF 和 SVG,价格相同。Flare 是默认档,更快,适合搭流水线;Sunburst 每张多花时间换更细的细节,这在静图上更有用,在尺寸不大的 GIF 帧上差别没那么明显。

GPT Image 2 或 2.5 能出 GIF 吗?

不能。GIF 和 SVG 输出是 GPT Image 2.6 新增的能力。另外 OpenAI 会在 2027 年 2 月 10 日下线 GPT Image 2,指定 2.6 为替代。

相关阅读

收录于
APIMODELS on Product HuntAPIMODELS featured on ToolifyAPIMODELS featured on There's An AI For That