---
name: minicoohei/video-audio
source: https://app.decimal.ai/s/minicoohei-video-audio@1/SKILL.md
source_sha256: f329c4065156
---

# Video Audio (TTS)

scenes.json の narration フィールドから ElevenLabs TTS で音声を生成する。

## クイックスタート

```bash
# 全ナレーションを結合した1ファイル生成
python skills/video-audio/scripts/generate_audio.py \
  --storyboard-dir output/storyboard/YYYYMMDD_session \
  --voice akari \
  --output output/narration.mp3

# フレームごとに個別ファイル生成
python skills/video-audio/scripts/generate_audio.py \
  --storyboard-dir output/storyboard/YYYYMMDD_session \
  --voice akari \
  --per-scene
```

## 日本語ボイス一覧

| ID | 名前 | 特徴 | エイリアス |
|----|------|------|-----------|
| EkK6wL8GaH8IgBZTTDGJ | Akari | 明るく自然な女性 | `akari` |
| EnLxjGl88dNO1Jv6AZk2 | Miyu | 信頼性と深みのある声 | `miyu` |
| G3EZ8O36A0x9lmeOtr0f | Kaori | 親しみやすいフレンドリー | `kaori` |
| PmgfHCGeS5b7sH90BOOJ | Fumi | 落ち着いた女性 | `fumi` |
| StTDrGrPSyfaHGmzwXbj | Masa | 日本語男性 | `masa` |
| gARvXPexe5VF3cKZBian | Mitsuki | ニュートラル | `mitsuki` |
| YOUR_VOICE_ID | Custom Voice | カスタムボイス | `custom` |

## オプション

| オプション | デフォルト | 説明 |
|-----------|-----------|------|
| `--voice` | `akari` | ボイス名またはID |
| `--model` | `eleven_multilingual_v2` | TTSモデル |
| `--stability` | `0.5` | 安定性 (0-1) |
| `--similarity` | `0.75` | 類似度ブースト (0-1) |
| `--speed` | `1.0` | 再生速度 |
| `--per-scene` | false | フレームごとに個別ファイル出力 |
| `--silence-gap` | `0.3` | シーン間の無音（秒） |
| `--output` | auto | 出力ファイルパス |

## 出力

### 結合モード（デフォルト）
```
{storyboard_dir}/audio/narration.mp3    # 全ナレーション結合
{storyboard_dir}/audio/narration.json   # タイムスタンプ情報
```

### per-scene モード
```
{storyboard_dir}/audio/frame_01.mp3
{storyboard_dir}/audio/frame_02.mp3
...
{storyboard_dir}/audio/timestamps.json  # 各フレームの開始・終了時刻
```

## timestamps.json フォーマット
```json
{
  "total_duration": 18.5,
  "scenes": [
    {
      "frame_number": 1,
      "start": 0.0,
      "end": 2.8,
      "duration": 2.8,
      "text": "ナレーション台本"
    }
  ]
}
```

## 動画との統合

compose_video.py で `--audio` オプションに渡す:
```bash
python skills/video-editor/scripts/compose_video.py \
  --storyboard-dir output/storyboard/session \
  --audio output/storyboard/session/audio/narration.mp3
```

Remotion の場合は `public/audio/narration.mp3` に配置し、`<Audio>` コンポーネントで参照。

## 環境変数
- `ELEVEN_API_KEY` — ElevenLabs API キー（必須）

## 依存
- Python 3.11+
- curl (ElevenLabs API呼び出し)
- ffmpeg (音声結合用、`.bin/ffmpeg`)