Codex GIF Video
用途と出力選択
このスキルは、後続の編集で使用できるビジュアル素材を専門に作成します。字幕、タイトル、テキストラベル、透かし、BGM、ナレーション、効果音は一切追加しません。ナレーションのテキストは動作の理解とショット分割のためにのみ使用され、字幕や音声に変換されることはありません。上流のスタイル資料に含まれる音声、字幕、長尺映像の作成要件は、このスキルの実行指示ではありません。
ユーザーは以下を選択できます:
- 元の短尺GIF:各ショットについて、サービスが返した元のバイトデータとリストを保持します。
- 1つの長尺GIF:複数の適格なショットを順番に連結して単一の
.gifファイルにします。ループは埋め込まず、1回だけ完全に再生します。 - 動画形式:
.mp4(H.264/yuv420p)として保存します。ビデオストリームのみで、無音、字幕なし。 - 両方:同じショットを再利用して長尺GIFとMP4の両方をエクスポートします。ショットを重複して生成することはありません。
ユーザーの明確な選択に従います。「GIFを作成」と言われればGIFを、「動画形式」と言われればMP4を提供します。指定がない場合、デフォルトでGIF素材とし、MP4が選択可能であることを説明します。目標の長さが単一ショットの能力を超える場合は、まず複数のショットに分割し、その後1つの長尺ファイルにエクスポートします。断片的な素材だけを提供することはできません。呼び出し方法についてはエクスポートワークフローを参照してください。
生成の境界とエントリーポイント
動画像ソースは、モデルがネイティブに返すことを許可されているGIFのみを受け付けます。Codexセッションのネイティブツール、またはユーザーが既に選択した公式OpenAI Image APIを使用します。サードパーティのプロキシ、他の画像/動画モデル、静的なフレーム結合、コードアニメーション、I2V、またはフレーム補間による疑似ネイティブアニメーションは使用しません。元のGIFと各リクエストの証跡を保持し、速度変更、ループ、またはフレーム停止で時間を稼ぐことはしません。
長尺GIFの連結、MP4エンコード、およびアスペクト比を維持したリサイズは派生エクスポートであり、モデルによる1回のネイティブ生成とは呼ばず、実際のモーションフレームを増やすこともありません。GIFの再エンコードではパレットが変化する可能性があるため、可能な限り元のサイズを優先します。長いコンテンツの場合は、ファイルサイズを抑えるためにMP4を選択することもできます。
エントリーポイントの優先順位:現在のセッションでの明確な指示 → プロジェクトプライベートな codex-gif-video.config.json の preferred_entry → Codexセッション。保存された選択を引き継ぎます。ネイティブエントリが失敗した場合、自動的に有料APIに切り替えません。credential_file と budget_file はプロジェクトルートからの相対パスで、キーはスキル、プロンプト、またはログに含めません。
公式APIは最初に official-api.md を読み、official_api.py を使用します。Codexのgifスイッチチェックはスキップします。Codexモードの場合は、まず native_gif.py doctor を実行し、現在のセッションの実際のツールスキーマを確認します:gif フィールドが必須であり、プロンプトオンリーのスタティックプローブを送信せず、パラメータを推測しません。診断は native-entry.md を参照してください。モデルとGIFの機能は、アカウントおよびサーバー側の開放範囲によって制限されます。
同じ認証バッチは予算を共有し、デフォルトで最大8回のGIFリクエスト、3回の参照リクエストが可能で、失敗とタイムアウトもカウントされます。新しいタスクまたは明示的なリメイクの場合は、独立した台帳を作成し、計画数を記録して古い台帳を保持します。失敗を回避するために割り当てをクリアすることはできません。新しい試行は明示的にリトライする必要があり、プロンプト、パラメータ、参照が変更された場合は新しいバンドルを作成する必要があります。
要件からショットへ
- 呼び出しプロトコルを読み、目標を
shotsに分割します。各ショットには「初期状態 → 動作 → 完了状態」を明確に定義します。ナレーションは原文を保持し、音声タイムスタンプを捏造しません。重複するセグメントは文字位置を提供します。 - 出力形式、アスペクト比、および総時間を決定します。
prepareはアスペクト比をピクセル値に変換します:デフォルトでは9:16→288×512、16:9→512×288、1:1→512×512。これはローカルでの控えめなデフォルトであり、サービスの上限ではありません。16の倍数であり、サービスのピクセル制限内であるサイズを明示的に指定できます。 - デフォルトで正確な時間を設定します。
frame_countを省略した場合、自動的に目標時間を割り切れる2〜16フレームのオプションを選択します。明示されたフレーム数が互換性がない場合は、生成前にエラーを報告します。近似が明示的に受け入れられた場合のみduration_policy:quantizeを設定し、誤差を開示します。15秒は5セグメント×3秒×15フレーム(各200ms)として計画できます。16フレーム×310msを5秒と呼ぶことはできません。低フレームレートは単純な動作に適しており、映画のような滑らかさは保証しません。 - スタイルを推奨した後、候補を比較し、
style_router.py guide --style IDを実行して、選択されたスタイルの完全な原文を読み込みます。素材、人物、配色、動作、カメラ、およびビジュアルタブーを確認します。上流の字幕、音声、コードエンジンの要件は無視します。styles.mdを参照してください。 - ショット間で人物の一貫性が必要だが、ユーザーのメイン参照がない場合、
style_router.py reference-prompt --style ID --subject-file FILEを使用してメイン参照プロンプト計画を生成し、モデルを呼び出します。まず実際のメイン参照を確認し、その後各ショットでそれを再利用して人物の特徴とstyle_lockを固定します。ドリフトした結果をメイン参照に置き換えることはしません。 - リクエストJSONを作成します。
prepareはプロンプト、サイズ、時間計画、スタイル原文のハッシュ、および参照を凍結します。生成前にパラメータと総時間を確認します。リクエストが変更された場合は新しいディレクトリを使用し、古い結果を上書きしません。
生成とソースの証拠
公式モード:prepare → official_api.py generate、native-request は呼び出さず、重複予約を避けます。最初のショットが実際のマルチフレームGIFを受信し、技術パラメータが適合し、ソースの証拠が十分であることを確認してから続行します。サイズ、フレーム数、またはフォーマットのエラーは最初に特定し、グループ全体を盲目的にリトライしません。
Codexモード:prepare → native-request → 実際のスキーマに従いネイティブツールを呼び出し(gif を保持)→ import-native。ファイルがない場合は finish-attempt で失敗または不明を記録します。公開されていない model/size/output_format をツールフィールドとして扱うことはできません。
model_evidence.reported_modelはサービスの実際の返信のみを記録し、欠落している場合はnullを保持し、モデルを推測しません。- 公式リクエストは、固定された公式HTTPSエンドポイント、明示的に許可されたモデル、リダイレクトなし、200レスポンス、リクエストIDとリクエストハッシュで構成される
official_request_evidenceを使用できます。これは公式リクエストのソースを証明しますが、サービスが自己申告する実行モデルと等価ではありません。 - Codexのソースが不明、公式の受領証が不完全、モデルレポートが矛盾する場合でも、合格させることはできません。履歴のunknown/unverifiedを自動的に書き換えることはしません。
チェックとデリバリー
quality.mdを読んでください。技術チェックはフォーマット、サイズ、フレーム数、遅延、デコード、およびピクセル変化のみを証明します。動作の自然さを証明するものではありません。実際のチェックでは、全フレームを通常速度で完全に再生し、アイデンティティ、スタイル、構造、モーション、セマンティクス、ループ、clean_visual(字幕とテキストオーバーレイなし)をそれぞれ記録します。Jevが利用可能な場合は、実際のフレーム抽出とメイン参照を使用します。静的フレーム抽出と完全再生範囲は別々に記録します。
review は元のファイルのハッシュをバインドします。すべての品質要件が満たされた後にのみ export して ready_gif_assets とします。派生エクスポートはデフォルトで ready パッケージのみを消費します。技術とソースが合格しているが完全な再生チェックが不足している場合は、明示的に --review-copy を使用してレビュー待ちファイルを作成し、rendered_pending_review と不足項目を保持します。明確なビジュアル失敗は、レビュー待ちモードで通過させることはできません。
ユーザーの選択に従って compose_movie.py --out assets.gif または --out assets.mp4 を呼び出します。単一バンドルまたは複数バンドルのショットリストをサポートします。各ショットは1サイクルのみ使用し、元の速度を維持します。字幕や音声は追加しません。MP4エクスポートは強制的に単一ビデオストリームのみとします。長尺GIFは実際の総遅延、サイズ、順序、および単回再生を確認します。どちらも実際の画面をチェックする必要があり、ストリームチェックでは画面に焼き付けられたテキストを発見できません。
選択されたファイル、元のGIF、リスト、レンダリング受領証、および残りの検証範囲を提供します。履歴結果と修正版をトレース可能に保ちます。インストールパスがシンボリックリンクの場合は元のディレクトリを更新します。パッケージ化の際はキーと実行成果物を除外します。