はじめる

キャラクターの表情GIFを作るガイド

1枚のキャラクター画像から6種類の表情GIFを制作。再生時間、サイズ、透過背景、カット切り替えとループのつながりを検証します。

11月4日、OpenAIは新しい画像モデルImages 2.6を発表しました。チャットで動きを指示すると、繰り返し再生するGIFを直接生成できます。表情GIFでは、感情が伝わるか、同じキャラクターに見えるか、繰り返しても動きが自然かを確かめることが大切です。

Arcloopと一緒に、6種類の元GIFとコマごとの観察を通じて、指示、結果、改善案を見ていきましょう。Image 2.6はArcloopにも登場しています。参照画像と動きの説明を用意し、Arcloopの制作ワークスペースから創作を続けられます。以下のGIFと数値はChatGPTでの実測結果です。

1. 動かしたいキャラクターを選ぶ

GIF生成が有効なChatGPTでは、静止画をアップロードして動きを説明できます。タイムライン操作を覚える前に、変えてよい部分と維持する部分を分けましょう。

今回の参照画像は、銀灰色の短髪、金色の目、猫耳、青とオレンジのエプロン、髪の鈴とオレンジのリボン、画面右側の尻尾を持つキャラクターです。これらを維持項目にし、表情、手の動き、尻尾の動作を変更項目にします。

顔の前に手を上げるのは動作ですが、鈴が消えたりエプロンの色が変わったりすれば、キャラクターの維持から外れる可能性があります。固定カメラと構図は確認をしやすくしますが、変形の解消は保証しません。各GIF内の変形と、6種類を並べた際の同一性を別々に確認します。設定が未整理なら、プロンプトを書く前のキャラクター設定表が参考になります。

キャラクター参照画像

2. 感情を見える動きで指定する

具体的な動きを書くと、結果を評価する基準ができます。 元の6つの指示を日本語に訳すと、次のとおりです。

  1. 恥ずかしそうに顔を隠す:耳を後ろに倒し、両手で顔の半分を隠す。
  2. 怒って威嚇する:頬を膨らませ、猫耳を立て、軽く威嚇する。
  3. ツンとそっぽを向く:腕を組んで顔を背け、尻尾を軽く振る。
  4. あなたへの贈り物:小さなハートを両手で差し出し、目を輝かせる。
  5. 悲しく泣く:目に涙をため、口をへの字にし、肩を小さく震わせる。
  6. 得意げにウィンク:両手を腰に当て、片目で1回ウィンクする。

恥ずかしさ。 両手が口元へ上がり、耳が下がり、頬が赤くなります。動作と表情から感情を読み取れますが、手が顔を覆う場面では指と頬の境界も確認します。

恥ずかしく顔を隠す

怒り。 眉を寄せ、口を開き、両手を上げる威嚇が中心で、頬の膨らみは目立ちません。感情が伝わっても、細部をすべて守ったとは限りません。GIFに音声はないため、威嚇は見た目で表現する必要があります。

怒って威嚇する

ツンとした態度。 腕組み、顔を背ける動作、閉じた目を組み合わせることで態度が明確です。小さな息の記号も追加されました。すっきりしたスタンプが必要なら、追加記号を除くよう続けて指定できます。

ツンとそっぽを向く

ハートを渡す。 手のひらにピンクのハートが現れ、両手で前へ差し出します。ただし感情の頂点は目を閉じた笑顔で、目を輝かせる表現が中心ではありません。動作の意味は成立しても、目の演技は指示と異なります。

ハートを差し出す

泣く。 涙目、垂れた耳、口の変化、肩付近の震え線で悲しさを伝えます。大げさな号泣を望むなら、涙をためるだけでは弱いかもしれません。感情と動作の強さをそろえて指定しましょう。

悲しく泣く

得意げなウィンク。 腰に当てた手と片目の開閉が見え、笑顔と姿勢が得意げな印象を作ります。単純な動きは項目ごとの確認もしやすくなります。

得意げにウィンク

ジェスチャーは感情の区別に役立ちますが、モデルは独自に表情を解釈します。感情、顔の変化、主動作1つ、終わりの姿勢を指定し、一度に1つのずれを直すとよいでしょう。眉、目、口、頭の位置を詳しく書くには、表情プロンプトガイドを参照してください。

3. 速度を変える前につなぎを整える

最初の姿勢へ戻る動きを補いましょう。 元のハートGIFは胸元に手がありハートがない状態で始まり、ハートを差し出したまま終わります。ウィンクは腰に手を当てて終わりますが、最初は両手が肩の横です。繰り返し再生できても始点と終点は異なるため、再開時の跳ねを確認します。

改善案として、次の指示を試せます。

最初は両手で小さなハートを胸元に持つ。ゆっくり前へ差し出し、少し笑顔で止まり、同じ経路で胸元へ戻す。最後は手の形、ハートの位置、表情を開始時に戻す。カメラと背景は固定する。

小道具を最初から存在させると、出現と消失の処理が1つ減ります。ウィンクでは手をずっと腰に置き、目の開閉だけを循環させる方法もあります。ChatGPTで生成したGIFの速度変更はテンポ調整には使えますが、欠けた動き、手の変形、始終の不一致は自動修復しません。動作を簡単にしてから戻りを確認します。

4. GIFは何秒まで作れる?

1周期20秒のGIFを生成できましたが、16コマしかなく、各コマが1.25秒表示されました。 再生時間と動きの連続性は分けて判断します。20秒を確認できたことは最長上限の証明ではありません。

元の6種類は1周期約1.36–1.52秒、8コマ、無限ループでした。2026年11月6–7日、同じ参照画像をChatGPTに再度アップロードし、2秒、10秒、20秒を指定。胸元で持つ、差し出す、笑顔で止まる、戻すという同じ動作を、正面半身、固定カメラ、白背景、文字なしで依頼しました。

生成画面から原本を直接ダウンロードし、ローカルで結合、補間、速度変更はしていません。時間は無限再生を計るのではなく、ファイル内の各コマの表示時間を合計しました。

指定時間実測1周期コマ数1コマの表示サイズ
2秒2.00秒8250 ms439×439
10秒9.92秒16620 ms309×309
20秒20.00秒161250 ms309×309

3つとも無限ループで、1周期に1回ずつ保持、差し出し、回収があります。10秒指定の実測は0.08秒短いため、その差も記録しています。

2秒版。 最初の2コマで胸元に保持し、3–5コマで差し出して微笑み、6–8コマで戻します。動作をコンパクトに伝えますが、0.25秒ごとの姿勢変化は見えます。首尾は似ていても同じ画像ではなく、シームレスと断言できません。

2秒指定の実測

10秒版。 16コマで段階が増えた一方、1コマは0.62秒と長くなります。コマ数倍増は滑らかさの保証ではありません。鈴とリボンが髪から襟元へ移り、設定も完全には保持されませんでした。

10秒指定の実測

20秒版。 同じ16コマを1.25秒ずつ表示するため、動作画像が増えず停止感が強まります。別途生成した原本で、10秒版をこちらで遅くしたものではありません。鈴は右側へ戻りましたが、エプロンのカップ柄が肉球に変わりました。

20秒指定の実測

この表情には2秒版のテンポを基準に手とループを直すことを勧めます。停止を延ばすなら少しずつ調整します。十数秒にわたり新しい動作を続ける物語なら、アニメーションや動画の工程を検討してからGIF化を判断しましょう。

同じ会話で順に依頼し、各時間1出力だけを保持しました。2秒版は短い指示で、後の2つは維持項目を追加しています。出力サイズやコマ数は固定せず、繰り返し抽出もしていません。同一例の探索であり、サイズや服装変化をすべて時間のせいにしたり、成功率や共通上限を推定したりはできません。

5. サイズと背景

512×512、1024×1024を指定してもそのピクセル数にはならず、白、薄いピンク、本当の透過背景は確認可能なGIFとして返りました。 指示やプレビューだけでなく、ファイルの実寸、動作全体の余白、用途を確認します。

同じ参照とハート動作で4組を試しました。共通条件は2秒、8コマ、固定正面半身。鈴、青とオレンジのエプロン、カップ柄、尻尾を保ち、耳、手、尻尾を画内に収めるよう指定。AとBはサイズだけ、CとDはAから背景だけを変えました。

組指定サイズと背景実寸実際の背景容量
A512×512、白437×438白に近い、不透明473.4 KiB
B1024×1024、白439×439白に近い、不透明470.8 KiB
C512×512、元の薄いピンク439×439薄いピンク、不透明476.3 KiB
D512×512、透過443×443本当の透過434.3 KiB

全てダウンロード原本で、8コマ、各250 ms、2秒、無限ループ。ローカルの拡縮、背景除去、再エンコードはありません。KiBは1024バイト換算です。

A、Bは指定サイズを満たさず、1024指定でも大きな画像にはなりませんでした。ただし約439ピクセルを製品全体の上限とは言えません。プレビューを拡大しても細部が増えた証明にはなりません。

A:512指定の白背景

B:1024指定の白背景

4組とも耳、手、右の尻尾は見え、明らかな切れはありません。ただし透過版は上端まで4ピクセル、右側は最少15ピクセルしかありません。切れていないことと十分な余白は別です。耳先と尻尾が端に近づくコマを確認し、特にDの上部をさらに切り詰めないようにします。

Aの開始と差し出しコマを幅64、128ピクセルでも表示しました。64ではハートと姿勢は読めても、目線、指、エプロン柄は分かりにくく、128では顔が明確です。ハートとジェスチャーを優先してから顔の強調を判断します。チャット送信後の圧縮は試していません。

白背景は全体に白くても、採取領域がすべて純白ではありません。ピンクは元に近い色調を維持し、左上10×10ピクセルのRGB平均はコマ間で少し変わりました。普通の表情なら全体の安定性を、純白ページになじませるなら近白色の四角が見えないかを確認します。

C:薄いピンク背景

Dの8コマ全てに透過ピクセルがあり、隅の不透明度は0。白・暗色背景では人物の外から下地が見え、白背景や描かれた市松模様ではありません。A、B、Cのデコード画像には透過ピクセルがなく、透過インデックスだけでは透過背景の証明になりません。

D:実際の透過背景

髪、耳、手、尻尾は白い塊を残さず独立して表示されます。ただし完全透明か完全不透明の2値で、半透明の移行はありません。実際のページやチャット背景で細い髪、耳先、尾の縁を確認してください。透過ができても全色で縁が適切とは限りません。Dが軽いことも透過が常に省容量になる証拠ではありません。トリミング、減色、コマ削減の比較はしていないので、コピーで1設定ずつ変えて動作と輪郭を再確認します。成功率は推定しません。

6. カット切り替えは維持できる?

切り替えは実行され、鈴の左右と同じハートもおおむね維持されました。ただし切点の正しさは、構図、動作接続、ループの合格を意味しません。 近景の切れと、半身に戻る際に回収動作を飛ばしていないかを分けて見ます。

同じ参照で白背景の3組を生成。連続的な寄りと戻り、近景への1回のカット、近景と半身への往復です。全て2秒、8コマ、同じ保持・差し出し・笑顔・回収。前節Aを固定カメラの参照にします。原本にローカルの切り抜き、結合、速度変更はしていません。

組カメラ指定観察ファイル
1徐々に寄り、半身へ戻る5コマ目まで近景、戻りは主に6–8439×439、8コマ、2.00秒
22と3の間で近景へ切り替え、そのまま指定位置で切り替え、再開時に半身へ跳ぶ439×439、8コマ、2.00秒
32と3の間で寄り、6と7の間で戻る両方の切り替えあり、戻った時にハートは既に胸元437×439、8コマ、2.00秒

各コマ250 ms、全て無限ループ。切点はコマ単位で確認しました。

1組目。 手とハートだけでなく頭と上体も大きくなり、6–8で縮みます。画面上の寄り・戻り型の変化は確認できますが、指定した5コマ目から明確には戻りません。3–5では耳先が画外へ出ており、8コマでは姿勢間の段差も見えます。

寄って戻る

2組目。 1–2は半身、3で正面近景へ直接移ります。両手は同じピンクのハートを持ち、消失、持ち替え、再出現は見られず、鈴とリボンは右側です。ただし近景中も頭とハートの大きさは変わり、耳先とハート下端が切れます。下端は4–5で特に確認できます。8も近景のため、ループ時に半身へ跳びます。戻りを入れない設計どおりですが、自然につながる反復には不向きです。

近景へ切り替える

3組目。 2–3、6–7の切り替えは指定どおり。戻るとエプロンとカップ柄が再び見え、鈴の側も同じ。両手で1個のハートを持ち続け、別のハートや追加の差し出しはありません。ただし6ではまだ前へ出しているのに、7では既に胸元です。意味は分かっても回収過程が不足します。8は開始に近い姿勢ですが、シームレスの保証にはならず、耳とハートの切れも残ります。

近景から半身へ戻る

この例では固定カメラ、または1組目の変化幅を小さくする方法を勧めます。切り替えが必要なら近景を緩め、手とハートを画内へ。切る前に回収を始め、半身へ戻った後も同じ回収を続ける、と状態を具体化します。改善しなければ2つのショットを別に作り、近い動作位置で手作業でつなぐ案もありますが、今回は未検証です。各組1出力でシード固定もなく、成功率の一般化はできません。確認したのは画面の大きさと動作状態であり、3Dカメラの移動ではありません。

参照画像が用意できたら、Arcloopで制作を始めましょう。まず感情1つ、主動作1つから始め、人物の細部、動作の接続、実際のファイルを確認してください。

シェア

もっと見る

AIで台本や小説を魅力的な動画に変換する方法

AIで台本や小説を魅力的な動画に変換する方法

ライブラリの使い方

ライブラリの使い方

使い回せるアセットライブラリの作り方

使い回せるアセットライブラリの作り方

GPT Image 2 for AI Drama: How to Create Consistent Visual Assets

GPT Image 2 for AI Drama: How to Create Consistent Visual Assets