ChatGPT 能做 GIF 了,六格图也行

示意图:六张手绘卡片画出纸船连续动作,对应ChatGPT把多帧串成动图的思路

OpenAI 11 月 4 日推出 ChatGPT Images 2.6,最受关注的新能力是 GIF:给一句提示词或一张照片,就能生成循环动图,之后还能调速度、改单帧。官方演示用的提示词简单到有点随意,“can you make a gif of a cat dancing?”。

我们用本机的 Codex 照着做了一组动图,第一步就没按预想走。

直接要 GIF,回来一张 PNG

OpenAI 称 Images 2.6 已在 ChatGPT 和 Codex 全档位开放。在 Codex 里直接要一只纸船的 GIF,约 21 秒后拿到的是一张 1536×1024 的单帧 PNG。

Codex 内置生图工具的入参只有四个:提示词、参考图路径、带上几张最近的图、是否透明背景。模型名、输出格式、帧数都不在其中,回执也不显示模型版本。

所以这组图的来历要先交代清楚:它们都是在 Codex 里明确要求按 Images 2.6 的能力生成的,但我们无法确认确实出自 2.6。 这次没拿到原生 GIF,也不能推出 2.6 不支持,ChatGPT 网页端和 API 走的是另外的入口。另有报道提到 GIF 还在陆续推送,账号暂时看不到也属正常。

换条路:先画一张六格图

OpenAI 的官方示例其实给了思路:把动作画成一张 sprite sheet,再串成动图。这个办法不挑入口,能生成图片的地方都能用。提示词结构如下:

一张 3 列 × 2 行的 sprite sheet,共 6 帧,各帧等大,
阅读顺序从左到右、从上到下。
内容:一只白色折纸船在浅蓝色水面轻轻起伏,水波随之变化。
所有帧的镜头、船的形状、背景保持不变。
第 6 帧要能自然接回第 1 帧。
不加文字、数字和 logo。

拿到图以后切开,几行 Python 就能合成:

from PIL import Image

sheet = Image.open("boat-sheet.png").convert("RGB")
w, h = sheet.width // 3, sheet.height // 2
frames = [sheet.crop((x * w, y * h, (x + 1) * w, (y + 1) * h))
          for y in range(2) for x in range(3)]
frames[0].save("boat.gif", save_all=True, append_images=frames[1:],
               duration=140, loop=0)

这只纸船就是这样来的,6 帧,每帧 140 毫秒,512×512,文件不到 500KB。

示意图:折纸船在浅蓝水面起伏,用AI绘画生成的六格图合成循环动图

四个动图做下来的观察

角色形象比预想的稳。 这只原创小狐狸的围巾、肚皮、耳朵,六帧都对得上,只有黏土纹理和轮廓有一点抖。

示意图:戴蓝围巾的黏土小狐狸挥手,六帧形象基本一致的AI绘画动图

背景越细碎,越容易露馅。 纸船那张的水面纹理每帧都略有不同,放慢了能看出来。想要干净的循环,背景尽量选纯色或大块面。

轨迹类动作最难。 绕圈飞的纸飞机第一版路线歪歪扭扭,重画一次才能用,最后一版的折线仍有轻微漂移。挥手、起伏、点头这种原地小动作,成功率明显更高。

六帧够用,但别贪动作。 一个 GIF 只表达一件事就好。稳妥的做法是先做一条,同一角色多出几版,查一遍脸、颜色和 logo 有没有变形,再决定要不要批量做。

API 的参数更明确

开发者这边是正规参数:output_format 设为 gif,配 frame_count 和 frame_duration_ms,默认 9 帧、每帧 200 毫秒。帧数上限的文档有出入,指南写 2 到 64,API 参考写 2 到 16,稳妥起见先按 16 以内用。

动起来之前,先定静态图

返工多半出在动之前。角色的脸型、配色、围巾系法如果还没定,六格图里任何一格跑偏,整张都得重来。

所以更省事的顺序是先出一张满意的静态定妆图,确定之后再让它动。这一步不一定要在 ChatGPT 里做。PixPix 上的 GPT Image 2.6 页面打开就是这类工作流,可以从提示词或参考图开始,一次改一处,同时交代哪些细节要保留,默认选的是偏精细的 Sunburst。上面那段 sprite sheet 提示词本身就是一张静态图的需求,理论上也能放过去试,切帧合成仍然在本地做。这条路我们还没实测,PixPix 的页面也没有写 GIF 功能,只能算一个思路。

发布前还有几件事要留意:部分平台对 GIF 上传支持不好,可能要转成视频;图里的文字和 logo 要逐帧看;拿别人的照片做动图,先取得对方同意。

参考来源:OpenAI 开发者社区公告、CocoLoop、OpenAI 图像生成文档、The Decoder、AI×SNS Lab;耗时和文件参数为本站实测,模型版本无法确认。