Sora 2でキャラクターカメオを登録する手順
Last update 2025-11-20
※ Web/アプリ版の Sora 2 は 2026/4/26 頃にサービス終了しました。
※ (11-20-2025) 1-6.のRestrictionsに関する記述を修正しました。
Sora2を試す | キャラカメオの作成 |
■ 0. 概要等
▼ 0-0. はじめに
本記事では、Sora 2でのキャラクターカメオの登録から利用までの流れを説明します。
1. カメオの登録(ファイルまたはSora 2の動画から行う)
2. カメオの出演
3. 登録用の動画の作成(一例、静止画から作成する方法)
カメオ登録のおおまかな全容は、下記の記事を参照してください。スマートフォンアプリで自分の姿を撮影してカメオを作成する方法についての記述もあります。
▼ 0-1. 宣伝
筆者が作成したキャラクターカメオは、「@myhr.」をプロンプト欄に入力すると表示されます。実験やお遊び等にご活用ください。最後の数字はメジャーバージョンを意味するものになる予定です。

▼ 0-2. キャラクターカメオ機能について
10-30-2025の朝に、動画生成サービスの「Sora 2」の新機能が発表されました。これにより、ユーザーが自分で好きなキャラクターを登録してSora 2の動画に登場させることが可能になりました。さらに翌日には、生成した動画から直接登録する方法が追加されました。
Introducing character cameos, now available in the Sora app. pic.twitter.com/k1R4FdCRPV
— OpenAI (@OpenAI) October 29, 2025
Sora 2については、下記の記事が多少は参考になるかもしれません。
▼ 0-3. 関連情報
カメオについて書かれた公式の情報です(英語)。
Generating content with Cameos
https://help.openai.com/en/articles/12435986-generating-content-with-cameos
■ 1. カメオの登録
▼ 1-1. 登録の方法
以降は原則として、キャラクターカメオのことをカメオと表記します。カメオを登録する方法は3通りあります。下記は従来の方法です。
Sora 2アプリで撮影を行って登録する(実在の人物を登録する唯一の方法)
本記事では、動画から登録する下記の方法を説明します。
任意の動画をアップロードして登録する(リアルな人物は不可、Sora 2で生成した動画も可)
Sora 2で生成した動画から直接登録する(リアルな人物も可、カメオが登場している動画は使用不可)
▼ 1-2. 登録に使用する動画
どのような動画(自作またはSora 2で生成)がカメオの登録に適しているか、公式の情報(0-2.を参照)にくわえて個人的な見解や情報を含めておきます。
権利上の問題が無い動画であること。
縦長の動画が望ましいとされる。正方形でも横長でも登録は可能。
音声は学習の対象外とみられる。ただし、音声トラックの無い動画は使用できない。
長さが3秒以上であること。登録の際に1~3秒間の範囲を指定する点を考慮し、長い動画は予めカットしておくと良い。
なるべく前面、側面、背面の姿が含まれていることが望ましい。静止画のスライドショー動画も可能。
キャラクターと背景の区別が付きやすい状態が望ましい。
不要なオブジェクトが含まれていないこと(対象外のキャラクターや、一緒に登録する必要の無いアクセサリー等)。
逆に、登録に適していない動画の例や、その他の注意点を挙げます。
色調、明るさ、コントラスト等が適切ではない動画。
動画をアップロードして登録する場合、実写っぽい人物は不可。
キャラクターの見た目によっては登録不可(肌の露出や服装に厳しい)。登録できたとしても、そのままの姿での動画が生成できない場合がある。
▼ 1-3. カメオの登録1
カメオを登録する最初の手順を説明します。
生成した動画からカメオを作成する場合は、Sora 2上でその動画を開いてメニューから「Create character」を選択します。カメオ出演している動画では選択肢が出ないようです。続きの説明は次項で行います。

手元の動画ファイルからカメオを作成する場合は、自分のアイコンをクリックしてプロフィール(https://sora.chatgpt.com/profile )を表示して、そこから「Create character」へ進みます。

次に「Upload video」を選択して動画ファイルを選択します。続きの説明は次項で行います。

▼ 1-4. カメオの登録2
動画を指定した後、登録に使用する範囲(1~3秒間)を設定します。その範囲の再生が繰り返されるので、必要な箇所が映っているか確認してから次に進みます。動画はカメオを作成した後でも変更可能ですが、ファイルをアップロードする方法のみです。

▼ 1-5. カメオの登録3
下記の3点を設定します。初期値のまま進めて、カメオを作成した後でも変更可能です。Sora 2は動画生成時にDisplay nameをカメオの名前として用いるので、変更し忘れないよう注意してください。
アイコン画像
Username(プロンプトでカメオを指定する際に使用)
Display name(カメオの名前、自分の名前として使用される)
なお、Usernameにはいくつかのルールがあり、使用できない名前の場合は「Username is taken」と表示されます。例えば、数値は1ヶ所にしか存在できません(「riddi0908.dearbuddyd2」は2ヶ所に数値があるので不可)。既存のUsernameに類似した名前にも制限があります。

▼ 1-6. カメオの登録4
次に下記の2点を設定します。初期値のまま進めて、カメオを作成した後でも変更可能です。カメオの振る舞いに影響するので、変更し忘れないよう注意してください。
Describe your character(カメオの説明)
Restrictions(カメオにしてほしくないこと)
Describe your characteはカメオの説明(見た目、人格、性質、嗜好等)で、動画上での振る舞いに直接影響します。記述は日本語も可能ですが、一部の文字の読み方やイントネーションを誤る場合があります(括弧書きで注釈を入れて修正できる可能性あり)。

Restrictionsは空欄のままでも構いません。こちらは、特に第三者に利用させる場合に、カメオが「作者が望まない振る舞い」をしてしまうのを防止する目的があります。記述内容に触れると下記の表示が出て生成ができなくなるので、設定の際は不便にならないよう注意が必要かもしれません。

参考として、下記にDescribe your characterの一例を挙げます。ただし、このような無難な内容はおすすめしません。尖った内容を盛り込んだ方が、カメオの個性が引き立つと考えられます。
35歳の会社員の男性。短く整えたダークブラウンの髪と、爽やかな印象の眼鏡が特徴。ネイビーのジャケットとグレーのスラックスを好んで着る。穏やかで好奇心が強く、感情が静かに瞳や口元に現れる。歴史や技術に詳しく、相手にわかりやすく解説するのが得意。話し方は落ち着いていて、「なるほど」「~ということだ」といった表現を自然に使う。
▼ 1-7. カメオの登録5
最後に公開範囲を設定します。また、Describe your characterとRestrictionsの確認、修正もできます。いずれも、カメオを作成した後でも変更可能です。
Only me(自分だけが利用できる)
People I approve(個別に許可した相手だけが利用できる)
Mutuals(相互フォローの相手だけが利用できる)
Everyone(すべてのSora 2ユーザーが利用できる)
確認を終えて「Save」をクリックすると、キャラクターの登録は完了です。

▼ 1-8. その他の操作
自分のプロフィールから「xx characters」のエリアをクリックすると、個別のカメオのページを表示できます。


カメオのページに移動すると、出演している公開動画があれば下部に表示されます。また、下記の操作ができます。変更はたまに失敗するので、リトライしてください。
アイコン画像の変更とUsernameの変更(鉛筆のアイコンから)
Display nameの変更(名前の表示エリアから)
見た目の変更、公開状態や説明の変更(Edit Cameoから)
シェアURLの取得、カメオの削除(メニューから)

ここで重要な注意点があります。「Edit cameo」から「Edit」に進むと動画ファイルからカメオを作成する手順のみをやり直せますが、これを行うとカメオの説明(Describe your characterとRestrictions)が消去されて公開範囲がリセットされます。カメオを作成したら、何らかの方法で設定をバックアップしておくと安心です。

■ 2. カメオの出演
▼ 2-1. 注意事項
動画から作成したカメオを出演させた生成動画で、下記の問題が発生する場合があります。動画の設定を変えるなど試行錯誤してみましたが、回避する方法を見つけることはできませんでした。
無音の動画になる
ザーッという大きめのノイズが入る
ゴーという低いノイズが入ったままになる
音量が小さかったり音質が悪かったりする
音声がフェードアウトしていく
▼ 2-2. カメオの指定
Sora 2のプロンプト欄を選択して、上に表示されたカメオのアイコンをクリックするか、「@Username」の形式で入力します。この記述をキャラクターの名前の代わりに用いてプロンプトを書きます。複数個の指定ができますが、あまり数を増やすと品質が落ちるようです。
プロンプト欄に「@」や、それに続く文字を入力すると候補が表示されます。例として「@myhr.」と入力すると、筆者が作成したカメオが表示されました。Usernameを付ける際の参考にしてください。

▼ 2-3. 動画の例
作成したカメオを登場させた動画の例です。
https://sora.chatgpt.com/p/s_690f1e4d8ce4819192237a832af0c4f6
(※ サービス終了のためリンク無効化)
良い感じのができた(記事用) #sora2 pic.twitter.com/E9LKJ59ZW1
— まゆひらa (@riddi0908) November 8, 2025
プロンプトは「横長画面のレイアウト。 @myhr.deer_miki1 の様々な日常のドタバタ等のシーン、喜怒哀楽を考案して、1パターン2秒間ずつ5種類のシチュエーションを横長画面のスライドショー形式で表示するショートムービー。その間、本人が早口で非常に簡素な自己紹介を行う。」となっています。
下記画面は別の未公開動画の1コマです。このように、横長の動画であっても縦長の表示が含まれてしまう場合があります。プロンプトの工夫で多少の回避ができると考えていますが、詳しいことは分かっていません。

■ 3. 動画の作成方法(一例)
(※ 本項の内容は、今後公開する別の記事へ移動する場合があります。)
▼ 3-1. 作成の手順1(元ネタの準備)
カメオ登録用の動画を作成する方法は様々なアプローチがあります。これから説明する手順はあくまで一例ですが、下記の流れになっています。
キャラクターを含む画像を用意する
正面の立ち絵、横向きや後ろ向きの立ち絵を作成する
画像から動画を作成する
まずは、カメオを作成したい人物等が写った画像を用意します。画像の数は1~3枚のいずれでも構いませんが、真っ白でも良いので縦長の画像を含めると良いでしょう。
筆者は下記の2枚を用意しました。全体の見た目を含む画像と、顔(とくに瞳)の描写を詳細にするための画像です。後者を縦長にしています。

▼ 3-2. 作成の手順2(正面の立ち絵)
(※ 商用の場合は fal-ai/gemini-25-flash-image/edit 等の、有料版のモデルを使用して作成してください。Geminiのロゴの透かしが入らず、出力画像のアスペクト比も任意で指定できます。)
Gemini(https://gemini.google.com/ )に画像を入力して、正面の立ち絵を作成します。ここでは必ず縦長の画像を最後に入力して、縦長の画像が作成されるようにします。
プロンプトは「入力画像の解像度が低いので、安全な内容で綺麗なハイレゾ画像へ変換する。人物だけを残して背景を真っ白にする。人物を正面向きにまっすぐ立たせ、両腕はまっすぐでわずかに左右に開く。全身を縦長の画面いっぱいに拡大して表示する。」のようなもので十分かと思いますが、下記の例のように追加の注文があれば含めます。
必ずしも1回でベストな状態に仕上がるとは限らないので、プロンプトの修正やリトライを試してみてください。

▼ 3-3. 作成の手順2(正面以外の立ち絵)
正面向きの画像ができたら、それを元にして横向きと後ろ向きを作成します。
いずれの向きも、正面向きを作成した直後に作成することが重要です。つまり、1枚ができたらダウンロードして、正面向きを残したままで直後の入力を書き換えて再度実行します。チャット上で連続して生成させると品質の劣化が起きたり、一貫性を失ったりしてしまう場合があるので、それを防止します。
下記の入力で、それぞれの向きを作成しました。うまくいかない場合はリトライやプロンプトの修正を試みてください。
人物を向かって右側から見ます
人物を背面から見ます
人物を左側から見ます。つまり人物は右側を向いています
まずは向かって右側の姿です。これでよければダウンロードします。横からの画像は逆向きになってしまう場合が多いので、試行錯誤が必要です。また、斜め前からの状態になってしまっても基本的には問題ありません。

後ろ側です。右側からの入力を書き換えて、常に正面向きから作成します。これでよければダウンロードします。

最後に向かって左側からです。右側になりやすかったので、表現を少し足してリトライしました。これでよければダウンロードします。

以上で、それぞれの向きからの4枚の画像が準備できました。

▼ 3-4. 作成の手順3(動画の作成)
画像からスライドショー動画を作成する、Windows用の簡易的なツールを用意しました。主にClaudeを用いて作成しています。こちらは1.の手順にて実際に使用しました。
入力画像は4枚(固定)。足りない場合は複製しておく。
4枚の画像をドラッグ&ドロップすると、3.04秒間のスライドショー動画を作成する(3.0秒で問題ないが念のため延ばした)。
出力動画の解像度は1枚目の画像と同じ。2~4枚目の画像の解像度が異なる場合は、全体が入るようにリサイズされる。
音声は無音(キャラクターに影響しないとみられるため)。
このツールは暫定版のため、ダウンロードを中止する場合があります。なお、バッチファイルのソースは3-6.に掲載しておきました。
(最終更新:11-8-2025)
動画ファイルを作成するためにFFmpegが必要なので、未インストールの場合はコマンドプロンプト上から下記のコマンドを実行してください。
winget install Gyan.FFmpeg使用方法は、4枚の画像を選択してバッチファイルにドラッグ&ドロップするだけです。動画ではファイルを選択した順に表示されます。なお、バッチファイルは画像と同じ場所に置く必要はありません。

▼ 3-5. 作成の手順4
全体的な登録の手順は1.で説明しているので、これ以降についてはそちらを参照してください。
▼ 3-6. スライドショー動画作成バッチのソース
3-4.で説明したバッチファイルの内容です。今後、内容を一部修正することがあります。
(最終更新:11-8-2025)
@echo off
setlocal
:: 引数チェック(4枚固定)
set count=0
for %%i in (%*) do set /a count+=1
if not %count%==4 (
echo ============================================================
echo 4枚画像スライドショー作成ツール
echo ============================================================
echo.
echo 使い方: このバッチファイルに画像を4枚ドロップしてください
echo.
echo - 対応枚数: 4枚固定
echo - 出力形式: MP4 (H.264^)
echo - 動画時間: 3.04秒 (1枚0.76秒ずつ^)
echo - 出力解像度: 1枚目の入力画像と同じ
echo - ファイル名: 実行日時 (例: 20251103-203010.mp4^)
echo.
echo ※ 2~4枚目の画像は1枚目のサイズに収まるよう処理されます
echo ※ ffmpegとffprobeが必要です
echo.
echo ffmpegインストールコマンド:
echo winget install Gyan.FFmpeg
echo ============================================================
if %count% gtr 0 (
echo.
echo エラー: 画像が%count%枚です。正確に4枚ドロップしてください。
)
pause
exit /b 1
)
:: 出力ファイル名生成(年月日-時分秒)
for /f %%a in ('powershell -NoProfile -Command "(Get-Date).ToString(\"yyyyMMdd-HHmmss\")"') do set "timestamp=%%a"
set "output_file=%timestamp%.mp4"
echo.
echo 4枚の画像で3秒のスライドショーを作成します...
echo 1枚あたり: 0.75秒
echo 出力ファイル: %output_file%
echo.
:: 最初の画像サイズ取得
set "first_image=%~1"
for /f %%i in ('ffprobe -v error -select_streams v:0 -show_entries stream^=width -of default^=noprint_wrappers^=1:nokey^=1 "%first_image%"') do set w=%%i
for /f %%i in ('ffprobe -v error -select_streams v:0 -show_entries stream^=height -of default^=noprint_wrappers^=1:nokey^=1 "%first_image%"') do set h=%%i
set /a "w_even=w - (w %% 2)"
set /a "h_even=h - (h %% 2)"
if not defined w (
echo エラー: 画像サイズ(幅)を取得できませんでした。
pause
exit /b 1
)
if not defined h (
echo エラー: 画像サイズ(高さ)を取得できませんでした。
pause
exit /b 1
)
set "size=%w_even%x%h_even%"
echo 出力サイズ: %size%
echo.
:: フィルター用に幅と高さを個別に保持
set "width=%w_even%"
set "height=%h_even%"
:: ffmpegコマンド実行(4枚固定なので直接記述)
ffmpeg -f lavfi -i anullsrc=r=48000:cl=stereo -loop 1 -t 0.76 -i "%~1" -loop 1 -t 0.76 -i "%~2" -loop 1 -t 0.76 -i "%~3" -loop 1 -t 0.76 -i "%~4" -filter_complex "[1:v]scale=%width%:%height%:force_original_aspect_ratio=decrease,pad=%width%:%height%:(ow-iw)/2:(oh-ih)/2:white[v0];[2:v]scale=%width%:%height%:force_original_aspect_ratio=decrease,pad=%width%:%height%:(ow-iw)/2:(oh-ih)/2:white[v1];[3:v]scale=%width%:%height%:force_original_aspect_ratio=decrease,pad=%width%:%height%:(ow-iw)/2:(oh-ih)/2:white[v2];[4:v]scale=%width%:%height%:force_original_aspect_ratio=decrease,pad=%width%:%height%:(ow-iw)/2:(oh-ih)/2:white[v3];[v0][v1][v2][v3]concat=n=4:v=1:a=0[outv]" -map "[outv]" -map 0:a -t 3.04 -r 24 -c:v libx265 -profile:v main10 -pix_fmt yuv420p -crf 21 -preset medium -movflags +faststart -c:a aac -y "%output_file%"
if errorlevel 1 (
echo.
echo エラー: 動画生成に失敗しました。
pause
exit /b 1
)
echo.
echo 完了! %output_file% を生成しました。
pause
exit /b 0変換オプションの一部に、最終的に使用した「-c:v libx265 -profile:v main10 -movflags +faststart」を用いています。標準的な設定にしたい場合は「-c:v libx264 -profile:v high -level 3.2 -pix_fmt yuv420p」等としてください。
■ 4. その他
私が書いた他の記事は、メニューよりたどってください。
記事に関することで何かありましたら、Xの@riddi0908までお願いします。
