設定 (config.json)

slidemovie では、JSON 設定ファイルを使用して、動画の解像度、音質、TTS の設定などをカスタマイズできます。

設定の読み込み順序

プログラムは以下の順序で設定を読み込みます(後から読み込まれたものが優先されます)。

  1. 組み込みのデフォルト値: プログラム内にハードコードされています。
  2. ユーザー設定: ~/.config/slidemovie/config.json (ホームディレクトリ)。
    • 注意: このファイルが存在しない場合、初回実行時にデフォルト値で自動的に作成されます。
  3. ローカル設定: ./config.json (カレントディレクトリ)。
  4. CLI 引数: コマンドラインフラグ(特定の設定に対して最も高い優先度を持ちます)。

設定オプション一覧

config.json で使用可能なキーの一覧です。

テキスト読み上げ (TTS)

キー デフォルト 説明
tts_provider 文字列 "google" AI プロバイダー (google または openai)。
tts_model 文字列 "gemini-2.5-flash-..." 使用する具体的なモデル名。
tts_voice 文字列 "sadaltager" 話者 ID (例: OpenAI の場合は alloy)。
tts_use_prompt 真偽値 true TTS API にシステムプロンプトを送信するかどうか。
prompt 文字列 "Please speak..." TTS エンジンへのシステム指示(プロンプト)。

動画フォーマット

キー デフォルト 説明
screen_size [int, int] [1280, 720] 解像度 [幅, 高さ]
video_fps int 30 フレームレート (FPS)。
video_codec 文字列 "libx264" 映像コーデック。
video_pix_fmt 文字列 "yuv420p" ピクセルフォーマット(互換性のため)。

音声フォーマット

キー デフォルト 説明
audio_codec 文字列 "aac" 音声コーデック。
sample_rate int 44100 サンプリングレート (Hz)。
audio_bitrate 文字列 "192k" 音声ビットレート。
audio_channels int 2 1 (モノラル) または 2 (ステレオ)。

一般 / 処理設定

キー デフォルト 説明
silence_sec 浮動小数 2.5 各スライドの音声の前に挿入される無音時間(秒)。
max_retry int 2 TTS API エラー時の最大リトライ回数。
ffmpeg_loglevel 文字列 "error" FFmpeg プロセスのログ出力レベル。
show_skip 真偽値 false true の場合、スキップされたタスク(変更のないファイル)をログに表示します。--debug でも有効化できます。
output_root 文字列 null 動画出力先のルートディレクトリを指定します。CLI の -o オプションで上書き可能です。
output_filename 文字列 null 出力される動画のファイル名(拡張子なし)。未設定の場合はプロジェクトIDが使用されます。CLI の -f オプションで上書き可能です。

config.json の例

例えば、フルHD (1080p) の動画を OpenAI を使って作成したい場合、プロジェクトフォルダに以下の内容で config.json を保存します。

{
    "tts_provider": "openai",
    "tts_model": "gpt-4o-mini-tts",
    "tts_voice": "alloy",
    "tts_use_prompt": false,
    "screen_size": [1920, 1080]
}

警告: 一度プロジェクトのビルドを開始すると、解像度 (screen_size) や FPS は状態ファイル (status.json) に記録されます。途中でこれらの設定を変更すると、slidemovie は不整合を検知して処理を中断します(動画が破損するのを防ぐため)。新しい動画設定を適用するには、movie/ ディレクトリ内のファイルを削除して最初から再ビルドする必要があります。