# 技術情報

## 完成した物語

| 項目 | 内容 |
|---|---|
| 尺 | 42秒 |
| ショット | 14本、各3秒 |
| 映像 | 1280×720、24fps |
| 音声 | AAC、48kHz、ステレオ |
| 絵コンテ確認 | 各ショット9フレーム、合計126フレーム |

## 工程別の技術

| 工程 | モデル／ツール | 用途 |
|---|---|---|
| 企画、構成、修正 | OpenAI Codex | 物語、台詞、ショット構成、再生成範囲を整理 |
| 著作権を意識した独自化 | Codex、画像生成 | 紫を中心とした配色、丸い銀色の小型頭部、独自胴体、小型楕円盾へ変更 |
| Excel絵コンテ | Python、`openpyxl`、Pillow | 3秒単位の画像、説明、9フレームを確認 |
| 3秒動画 S001〜S003、S005〜S010 | Google Veo API `veo-3.1-lite-generate-preview` | 4秒生成した映像を3秒へ正規化 |
| 3秒動画 S004、S011〜S014 | Google Veo API `veo-3.1-fast-generate-preview` | 動作とオチの重要ショットを生成 |
| 台詞音声 | Google Gemini TTS `gemini-3.1-flash-tts-preview` | 専用の日本語音声と大阪弁の読みを生成 |
| 環境音 | NumPy、FFmpeg | 非音階の環境音をローカル生成 |
| 音声修復 | FFmpeg | 各音声をAAC・48kHz・ステレオへ統一して連結 |
| 最終編集 | Python、FFmpeg | 14クリップを連結して42秒へ仕上げ |
| 検査 | FFmpeg、Pillow、`openpyxl`、音声認識、人の確認 | 途中フレーム、音声、人物、機体寸法、背景、オチを確認 |

## 最終版の動画モデル

| 範囲 | モデル | 本数 |
|---|---|---:|
| S001〜S003 | Veo 3.1 Lite | 3 |
| S004 | Veo 3.1 Fast | 1 |
| S005〜S010 | Veo 3.1 Lite | 6 |
| S011〜S014 | Veo 3.1 Fast | 4 |
| 合計 | Lite 9本、Fast 5本 | 14 |

モデル名は制作時点の記録です。新しい制作では、Video Studioに同梱された検証済み既定値と、各提供元の現行情報を確認します。

## この作品で得たノウハウ

- 参考作品の外見ではなく、物語上必要な関係を言葉にして残した。
- 頭部、胴体、盾、配色を基準化し、絵コンテでサイズと位置を確認した。
- 動画生成APIの音声を完成音声として使わず、専用音声と環境音を別工程で管理した。
- 4秒で生成した映像を、Excel上の3秒管理単位へ正規化した。
- 表示用テキストと読み上げ用テキストを分離した。
- 音声を連結する前に、コーデック、サンプルレート、チャンネル数を揃えた。
- 不採用画像と誤った人物は削除せず、理由付きで履歴へ残した。

## 主な失敗と対処

- 機体が参考作品に近すぎたため、配色、頭部、胴体、盾を独自化した。
- 独自化しすぎて物語の意味が薄れたため、人物関係と失敗の流れは残した。
- 頭部が大きすぎたため、全カットで従来比70％へ固定した。
- 操縦者が機体外にも現れたため、外景には操縦者の参照を渡さないよう分離した。
- 人物と巨大ロボットが同じ大きさになったため、射出と落下を複数カットへ分けた。
- 後半音声が壊れたため、映像は保持し、音声だけを統一形式で再構成した。
