Pada 4 November, OpenAI meluncurkan ChatGPT Images 2.6, dan kemampuan baru yang paling disorot adalah GIF: cukup berikan satu kalimat prompt atau satu foto, lalu ia menghasilkan animasi berulang yang setelahnya bisa diatur kecepatannya atau diubah per bingkai. Prompt dalam demo resminya sederhana sampai terkesan sambil lalu: "can you make a gif of a cat dancing?"
Kami mencoba membuat sejumlah animasi dengan cara yang sama lewat Codex lokal, dan langkah pertamanya sudah tidak berjalan sesuai dugaan.
Minta GIF, yang datang PNG
OpenAI menyatakan Images 2.6 tersedia di ChatGPT dan Codex untuk semua paket. Ketika kami meminta GIF perahu kertas langsung di Codex, sekitar 21 detik kemudian yang kami terima adalah PNG satu bingkai berukuran 1536×1024.
Alat pembuat gambar bawaan Codex hanya menerima empat masukan: prompt, jalur gambar referensi, berapa gambar terbaru yang disertakan, dan apakah latar belakang transparan. Nama model, format keluaran, dan jumlah bingkai tidak termasuk di dalamnya, dan respons juga tidak menampilkan versi model.
Maka asal-usul rangkaian gambar ini perlu dijelaskan lebih dulu: semuanya dibuat di Codex dengan permintaan eksplisit agar memakai kemampuan Images 2.6, tetapi kami tidak dapat memastikan bahwa hasilnya benar-benar dari 2.6. Tidak mendapatkan GIF asli kali ini juga tidak berarti 2.6 tidak mendukungnya, karena versi web ChatGPT dan API memakai pintu masuk yang berbeda. Ada pula laporan yang menyebut GIF masih diluncurkan bertahap, jadi wajar jika akun Anda belum menampilkannya.
Jalur lain: gambar dulu lembar enam bingkai
Contoh resmi OpenAI sebenarnya memberi petunjuk: gambar gerakan sebagai satu sprite sheet, lalu rangkai menjadi animasi. Cara ini tidak memilih pintu masuk, sehingga bisa dipakai di mana pun yang dapat membuat gambar. Struktur prompt-nya seperti berikut:
Sebuah sprite sheet 3 kolom × 2 baris, total 6 bingkai, semua bingkai berukuran sama,
urutan baca dari kiri ke kanan, dari atas ke bawah.
Isi: sebuah perahu origami putih terombang-ambing pelan di permukaan air biru muda, riak air ikut berubah.
Sudut kamera, bentuk perahu, dan latar belakang tetap sama di semua bingkai.
Bingkai ke-6 harus bisa menyambung alami kembali ke bingkai ke-1.
Tanpa teks, angka, dan logo.Setelah gambarnya didapat, potong, lalu beberapa baris Python sudah cukup untuk menggabungkannya:
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)Beginilah perahu kertas itu dibuat: 6 bingkai, 140 milidetik per bingkai, 512×512, dengan ukuran file di bawah 500KB.

Pengamatan setelah membuat empat animasi
Tampilan karakter lebih stabil dari dugaan. Pada rubah kecil orisinal ini, syal, perut, dan telinganya konsisten di keenam bingkai; hanya tekstur tanah liat dan garis tepinya yang sedikit bergetar.

Semakin rumit latarnya, semakin mudah ketahuan. Tekstur permukaan air pada animasi perahu kertas sedikit berbeda di setiap bingkai, dan terlihat saat diperlambat. Untuk perulangan yang bersih, pilih latar warna polos atau bidang besar.
Gerakan berlintasan adalah yang tersulit. Versi pertama pesawat kertas yang terbang melingkar punya rute yang berkelok-kelok dan harus digambar ulang agar bisa dipakai, dan garis lintasan pada versi akhir masih sedikit bergeser. Gerakan kecil di tempat seperti melambai, naik-turun, dan mengangguk punya tingkat keberhasilan yang jauh lebih tinggi.
Enam bingkai cukup, tetapi jangan serakah. Satu GIF cukup mengungkapkan satu hal. Cara yang aman adalah membuat satu dulu, menghasilkan beberapa versi untuk karakter yang sama, memeriksa apakah wajah, warna, dan logo berubah bentuk, lalu baru memutuskan apakah akan membuatnya secara massal.
Parameter API lebih jelas
Di sisi pengembang, parameternya resmi: atur output_format ke gif, dipadukan dengan frame_count dan frame_duration_ms, dengan bawaan 9 bingkai dan 200 milidetik per bingkai. Dokumentasi tentang batas atas jumlah bingkai tidak seragam: panduan menulis 2 sampai 64, sedangkan referensi API menulis 2 sampai 16, jadi demi aman gunakan dalam 16 bingkai dulu.
Sebelum bergerak, tentukan dulu gambar statisnya
Pengerjaan ulang biasanya terjadi sebelum gambar digerakkan. Jika bentuk wajah karakter, palet warna, dan cara mengikat syal belum ditetapkan, satu saja bingkai yang melenceng di lembar enam bingkai berarti seluruh lembar harus diulang.
Karena itu urutan yang lebih hemat tenaga adalah membuat satu gambar desain karakter statis yang memuaskan lebih dulu, lalu menggerakkannya setelah ditetapkan. Langkah ini tidak harus dilakukan di ChatGPT. Halaman GPT Image 2.6 di PixPix langsung terbuka sebagai alur kerja semacam ini: Anda bisa mulai dari prompt atau gambar referensi, mengubah satu bagian dalam satu waktu sambil menyebutkan detail mana yang harus dipertahankan, dan pilihan bawaannya adalah Sunburst yang lebih detail. Prompt sprite sheet di atas pada dasarnya adalah permintaan gambar statis, jadi secara teori bisa dicoba di sana juga, sementara pemotongan dan penggabungan tetap dilakukan secara lokal. Jalur ini belum kami uji, dan halaman PixPix juga tidak menyebut fitur GIF, jadi anggap saja sebagai gagasan.
Ada beberapa hal yang perlu diperhatikan sebelum dipublikasikan: sebagian platform kurang baik mendukung unggahan GIF sehingga mungkin perlu dikonversi menjadi video; teks dan logo di dalam gambar harus diperiksa bingkai demi bingkai; dan jika membuat animasi dari foto orang lain, dapatkan persetujuannya terlebih dahulu.
Sumber: pengumuman OpenAI Developer Community, CocoLoop, dokumentasi pembuatan gambar OpenAI, The Decoder, AI×SNS Lab; durasi dan parameter file berasal dari pengujian kami sendiri, sedangkan versi model tidak dapat dipastikan.