codex-images について
codex-images は、ターミナルから Codex の内蔵画像ツールで画像を生成するスキルです。サムネイル、カバー、動画用静止画について、プロンプト作成から並列生成、確認、納品までを案内し、API キーではなく ChatGPT プランの利用枠を使います。
主な機能
- 01画像ごとにプロンプトを作成
- 02最大 3 件のジョブを並列生成
- 03顔写真を参照画像として使用
- 04画像のサイズと内容を確認
- 05マニフェスト作成と画像の引き渡し
活用シーン
- 01動画のサムネイルやカバーを作成
- 02動画用の静止画や B-roll を生成
- 03顔写真を参照したサムネイルを作成
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ melvynx/ video-agent-skills --skill codex-imagesインストール後、Claude Code で/codex-imagesを入力して読み込まれたか確認します。
詳細
Codex Images
ターミナルから実行する、Codex 組み込みの画像ツールで作成する画像です。画像ごとに codex exec を1回実行し、複数の画像をまとめて作成できます。ChatGPT の Plus または Pro プランを使用するため、API キーは不要です。
画像については、依頼者の言語でやり取りします。<out> は出力フォルダーです。動画の場合は video-agent/edits/<slug>/images/、それ以外の場合は video-agent/images/<name>/ です。
1. Codex(最初に一度だけ)
codex --version
codex login status
- インストールされていない場合:
npm i -g @openai/codex(Node 20 以降が必要です)。macOS ではbrew install codexも使えます。 - ログインしていない場合:依頼者自身に
codex loginを実行してもらいます(ブラウザーが開き、「Sign in with ChatGPT」と表示されます)。チャットで OpenAI のキーやパスワードを尋ねてはいけません。
2. 概要
画像1枚につきプロンプトを1つ使います。1つのジョブに複数のアイデアを詰め込んではいけません。
不足している情報だけを、1回のメッセージで確認します。
- 用途:サムネイル(1280x720、16:9)、ショート動画のカバー(1080x1920、9:16)、正方形の投稿(1:1)、画像ボード用の静止画、または B ロール用の静止画(動画のフォーマットに合わせます)。
- 枚数:デフォルトは1枚です。サムネイルの場合は3パターン(同じ案を3回ではなく、それぞれ別のアイデア)を作成します。
- 顔写真:本人が写ったサムネイルには、はっきり写った写真が1〜3枚必要です。撮影映像の1フレームでも使えます(
ffmpeg -v error -y -ss <t> -i <take> -frames:v 1 -q:v 2 <out>/ref-face.jpg)。絶対パスを渡します。
各プロンプトは、具体的な英語で作成します。被写体、構図、背景、照明、色、画像に入れるテキスト(動画の言語で、3語以内、引用符で囲んで正確に表記)、フォーマットを指定します。サムネイルの場合は、被写体を1つにし、読みやすい大きなテキスト、高いコントラスト、感情がはっきり伝わる顔を用意し、右下には何も配置しません(YouTube ではここに再生時間が表示されます)。画像内の主張はすべて動画に基づくものにします。
プロンプトを番号付きリストで提示し、承認の返事を待ちます(画像1枚ごとに Codex の利用上限が消費されます)。
3. 生成
プロンプトごとにジョブを1つ実行し、バックグラウンドで同時に実行するのは最大3つまでです。必ず末尾に < /dev/null を付けます(これがないと codex exec は入力待ちのまま終了しません)。最後のメッセージはファイルに保存します。
mkdir -p <out>/logs
codex exec --skip-git-repo-check -s workspace-write -C "$PWD" \
--output-last-message <out>/logs/<n>-<name>.txt \
"Use your built-in image_gen tool to generate exactly one raster image for the prompt below. Do not edit any file. Do not ask questions. No SVG, no HTML, no placeholder.
Reference images (pass them to image_gen as referenced_image_paths): <absolute paths, or none>
When done, reply with exactly these two lines:
ASSET_NAME: <kebab-case-name>
IMAGE_PATH: <absolute path of the generated image>
Image prompt:
<the prompt>" \
< /dev/null > <out>/logs/<n>-<name>.log 2>&1
ジョブの実行には約1〜3分かかります。完了したら .txt ファイルを読み、IMAGE_PATH を取得して画像をコピーします。
cp "<IMAGE_PATH>" <out>/<n>-<name>.png
応答に IMAGE_PATH がない場合は、ジョブの開始後に作成された ~/.codex/generated_images/ 内の最新ファイルを使います(ls -t ~/.codex/generated_images/*/* | head -3)。新しいファイルがない場合はジョブが失敗しています。.log の末尾を表示し(利用上限に達したか、codex login が必要な場合がよくあります)、そのジョブを一度だけ再実行します。
4. 確認と受け渡し
- プロンプトごとに画像を1枚作成し、同一画像が重複していないことを確認します(
shasum <out>/*.png)。 - サイズを確認します:
sips -g pixelWidth -g pixelHeight <file>(macOS)、またはffprobe -v error -show_entries stream=width,height -of csv=p=0 <file>を使います。サムネイルは16:9にし、ffmpeg で1280x720に切り抜くか拡大縮小します(-vf "scale=1280:720:force_original_aspect_ratio=increase,crop=1280:720")。JPGで2 MB未満にします。 - 画像を1枚ずつ確認します。テキストのつづり、顔が本人に似ているか、不自然な点(手や余分な文字など)がないかをチェックします。問題がある場合はプロンプトを修正し、その画像だけを再生成します。
<out>/manifest.json を作成し、画像ごとに file、prompt、refs、date を記録します。画像を表示してから、次の処理を行います。
- サムネイルまたはカバーの場合:
/publishは<edit>/images/を使用します(依頼者が1枚選び、それを<edit>/cover.jpgとしてコピーします。カバー画像と YouTube のサムネイルに使用します)。 - 動画用の静止画の場合:
/short-editingは、ショートのassets/images/にコピーすることで、ボードにimgアイテムとして配置できます。
すべて問題ないことを確認したら、<out>/logs/ を削除します。
利用上の制限について
- この画像ツールは Codex 内の OpenAI のツールです。結果はツールに左右され、変わることもあります。画像内のテキストはつづりが間違う場合があるため、必ず確認してください。
- 参照写真から生成した顔は本人に似ていますが、完全に一致することはほとんどありません。サムネイルには、本人の実際の写真を使うのが最も安全です。
- 画像1枚ごとに、依頼者の ChatGPT プランに含まれる Codex の利用上限を消費します。上限に達した場合は、時間を置くか、より上位のプランが必要です。
- 写真は、使用に同意した人のものだけを使ってください。また、権利を所有していないロゴやキャラクターは使わないでください。