プロンプト一つで作る!ChatGPT 4oでのアニメーションGIF生成方法

GIF アニメーションの生成方法
目次

はじめに

 ChatGPT 4oでは、初心者でも簡単にアニメーションGIFを作成することが出来るので、それについて解説します。アニメーションGIFは、よく目にする、繰り返し動く画像ファイルのことです。

 アニメーションGIFを作成する方法は他にもありますが、今回はプロンプト1個で作る手法を紹介します。具体的には、下記のように、テキストがタイピングされるアニメーションや、ギヤが回転するようなアニメーションをお手軽に生成することが可能です。

例1:「Hello, World!」のテキストタイピング

例2:歯車が回転し続けるアニメーション

 静止画のプロンプトについては下記記事で説明していますので、良かったらご覧ください。

あわせて読みたい
DALL-E 3のプロンプト作成ガイド:書き方のコツと具体的なプロンプト例 この記事ではDALL E3での画像生成におけるプロンプトの作り方、書き方のコツについて説明します。

ChatGPT 4oを使ったアニメーションGIFの作成手順

 作成するためのプロンプトとしては単純です。ChatGPT 4oにおいて、下記内容をチャットに入れることで、あとはGIFアニメーションファイルを作成してくれます。〇〇〇〇の部分に、希望するアニメーション内容を記載すればOKです。

下記のGIFアニメーションを作成してください。まずは各フレームを作成して、それをGIFアニメーションとしてください。 「〇〇〇〇のアニメーション」

 一度、生成してしまえば、同じチャット内では省略した言い方でも生成しくれます。例えば、”A flower bud opening up as animation GIF”とかでも対応してくれるようになります。

GIFアニメーションの生成例

 それでは、ChatGPT 4oを用いて実際に生成した事例を見ていきましょう。ここでは用いたプロンプトとセットでGIF画像を示しています。

例:「バウンドするボールのアニメーション」

例:「フラクタル構造を生成するアニメーション」

例:「時計の針が1時間分進むアニメーション」

例:「花のつぼみが開いていくアニメーション」

 どれもシンプルなアニメーションにはなりますが、たった一つの指示でGIFアニメーションが作成できるのは感動的です。複雑なアニメーションを指示するとエラーで止まったりしますが、こういったシンプルなものであっても、色々と使い道があるかと思います。

生成の仕組みについて

 基本的にはpythonにて、各フレームの画像とそれらをGIFアニメーション化するcodewp作成してくれているようです。下記は、実際に生成したcodeになります。

import imageio
import numpy as np
from PIL import Image, ImageDraw

# Define the number of frames and size of the GIF
num_frames = 10
width, height = 200, 200

# Function to draw a flower bud opening up
def draw_flower_bud(frame_num, total_frames):
    img = Image.new("RGB", (width, height), "white")
    draw = ImageDraw.Draw(img)
    
    # Calculate the bud opening factor
    factor = frame_num / total_frames
    petal_length = 60 * factor
    petal_width = 20 * factor

    # Center coordinates
    center_x, center_y = width // 2, height // 2

    # Draw petals
    for angle in range(0, 360, 45):
        x1 = center_x + petal_length * np.cos(np.radians(angle))
        y1 = center_y + petal_length * np.sin(np.radians(angle))
        draw.ellipse((x1 - petal_width, y1 - petal_width, x1 + petal_width, y1 + petal_width), fill="pink")
    
    # Draw the bud center
    draw.ellipse((center_x - 10, center_y - 10, center_x + 10, center_y + 10), fill="yellow")

    return img

# Generate frames
frames = []
for i in range(num_frames):
    frame = draw_flower_bud(i, num_frames)
    frames.append(frame)

# Save frames as a GIF
gif_path = "/mnt/data/flower_bud_opening.gif"
frames[0].save(gif_path, save_all=True, append_images=frames[1:], optimize=False, duration=100, loop=0)

gif_path

 以上のように、DALL-E3を使っているわけではないので、複雑な画像の指定はできません。グラフ化できるものか、テキストのような、比較的シンプルなGIFアニメーションに限定されるかと思われます。

まとめ

 以上のように、ChatGPT 4oを使ったアニメーションGIFの作成は、非常に簡単です。プロンプト一つでシンプルなGIF画像を生成できるため、初心者でも気軽に作成できて、敷居はかなり低いと感じます。

 現在は複雑なアニメーションに難がありますが、今後更に改良が進んでいけば、より高度なアニメーションGIFの作成が可能になるものと予想しています。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次