{"owner":"WEIFENG2333","repo":"VideoCaptioner","hasSkills":true,"totalSkillsCount":1,"totalTokensCount":1763,"categories":["anthropic-skill"],"hasMcp":false,"mcpConfig":null,"found":["skills/SKILL.md"],"skills":{"skills/SKILL.md":"---\nname: videocaptioner\ndescription: Process video subtitles — transcribe speech, optimize/translate text, burn styled subtitles into video. Use when you need to add subtitles to a video, transcribe audio, translate subtitles, or customize subtitle styles.\nallowed-tools: Bash(videocaptioner *, ffprobe *, ffmpeg -ss *)\n---\n\n# VideoCaptioner CLI\n\nAI-powered video captioning: transcribe speech → optimize subtitles → translate → burn into video with beautiful styles.\n\n## When to use\n\n- User wants to **add subtitles to a video**\n- User wants to **transcribe audio/video** to text\n- User wants to **translate subtitles** to another language\n- User wants to **customize subtitle appearance** (colors, fonts, rounded backgrounds)\n- User wants to **download and subtitle online videos**\n\n## Before you start\n\n**Always run `videocaptioner <command> --help` first** to check the latest options and defaults before executing a command. The examples below are common patterns, but --help is the source of truth.\n\n- Install: `pip install videocaptioner`\n- FFmpeg required for video synthesis (`brew install ffmpeg` on macOS)\n- **Free (no API key):** transcription (bijian/jianying), translation (Bing/Google)\n- **Requires LLM API key:** subtitle optimization, subtitle re-segmentation, LLM translation. Set via `OPENAI_API_KEY` env var or `--api-key` flag\n\n## Common scenarios\n\n### 1. Give a Chinese video English subtitles (one command, all free)\n\n```bash\nvideocaptioner process video.mp4 --asr bijian --translator bing --target-language en \\\n  --subtitle-mode hard --quality high -o output.mp4\n```\n\n### 2. Transcribe a video to SRT (free)\n\n```bash\nvideocaptioner transcribe video.mp4 --asr bijian -o output.srt\n\n# Output as JSON format to a directory\nvideocaptioner transcribe video.mp4 --asr bijian --format json -o ./subtitles/\n```\n\n### 3. Translate existing subtitles\n\n```bash\n# Free Bing → English, bilingual output with translation above original\nvideocaptioner subtitle input.srt --translator bing --target-language en --layout target-above -o translated.srt\n\n# Free Google → Japanese, translation only (discard original text)\nvideocaptioner subtitle input.srt --translator google --target-language ja --no-optimize --layout target-only -o output_ja.srt\n\n# High quality LLM translation with reflective mode\nvideocaptioner subtitle input.srt --translator llm --target-language en --reflect \\\n  --api-key $OPENAI_API_KEY -o output_en.srt\n```\n\n### 4. Full pipeline with beautiful styled subtitles\n\n```bash\n# Anime-style subtitles (warm color + orange outline), high quality video\nvideocaptioner process video.mp4 --asr bijian --translator bing --target-language ja \\\n  --subtitle-mode hard --style anime --quality high -o output_ja.mp4\n\n# Modern rounded background subtitles\nvideocaptioner process video.mp4 --asr bijian --translator google --target-language ko \\\n  --subtitle-mode hard --render-mode rounded -o output_ko.mp4\n\n# Custom colors: white text with red outline, ultra quality\nvideocaptioner process video.mp4 --asr bijian --translator bing --target-language en \\\n  --subtitle-mode hard --quality ultra \\\n  --style-override '{\"outline_color\": \"#ff0000\", \"primary_color\": \"#ffffff\"}' -o output_en.mp4\n```\n\n### 5. Subtitle only, output as ASS format (no video synthesis)\n\n```bash\nvideocaptioner process video.mp4 --asr bijian --translator bing --target-language en \\\n  --format ass --no-synthesize -o ./output/\n```\n\n### 6. Step-by-step control (transcribe → translate → synthesize separately)\n\n```bash\n# Step 1: Transcribe\nvideocaptioner transcribe video.mp4 --asr bijian -o video.srt\n\n# Step 2: Translate (bilingual, original text above translation)\nvideocaptioner subtitle video.srt --translator bing --target-language en --layout source-above -o video_en.srt\n\n# Step 3: Burn into video with rounded background, high quality\nvideocaptioner synthesize video.mp4 -s video_en.srt --subtitle-mode hard \\\n  --render-mode rounded --quality high -o video_with_subs.mp4\n```\n\n### 7. Process audio file (auto-skips video synthesis)\n\n```bash\nvideocaptioner process podcast.mp3 --asr bijian --translator bing --target-language en -o ./output/\n```\n\n### 8. Transcribe other languages (whisper-api)\n\n```bash\nvideocaptioner transcribe french_video.mp4 --asr whisper-api \\\n  --whisper-api-key $OPENAI_API_KEY --language fr -o french.srt\n```\n\n### 9. Only optimize subtitles with LLM (fix ASR errors, no translation)\n\n```bash\nvideocaptioner subtitle raw_subtitle.srt --no-translate --api-key $OPENAI_API_KEY -o optimized.srt\n```\n\n### 10. Custom rounded background style with custom font\n\n```bash\nvideocaptioner synthesize video.mp4 -s subtitle.srt --subtitle-mode hard \\\n  --style-override '{\"text_color\": \"#ffffff\", \"bg_color\": \"#000000cc\", \"corner_radius\": 10, \"font_size\": 36}' \\\n  --font-file ./NotoSansSC.ttf --quality high -o styled_video.mp4\n```\n\n## Command reference\n\n| Command | Purpose |\n|---------|---------|\n| `transcribe` | Speech → subtitles. Engines: `bijian`(free) `jianying`(free) `whisper-api` `whisper-cpp` |\n| `subtitle` | Optimize (LLM) and/or translate (LLM/Bing/Google) subtitle files |\n| `synthesize` | Burn subtitles into video with customizable styles |\n| `process` | Full pipeline: transcribe → optimize → translate → synthesize |\n| `download` | Download video from YouTube, Bilibili, etc. |\n| `config` | Manage settings (`show` `set` `get` `path` `init`) |\n| `style` | List all subtitle style presets with parameters |\n\nRun `videocaptioner <command> --help` for full options.\n\n## Subtitle styles\n\nTwo rendering modes for beautiful subtitles:\n\n**ASS mode** (default) — outline/shadow style:\n- Presets: `default` (white+black outline), `anime` (warm+orange outline), `vertical` (portrait videos)\n- Customizable fields: `font_name`, `font_size`, `primary_color`, `outline_color`, `outline_width`, `bold`, `spacing`, `margin_bottom`\n\n**Rounded mode** — modern rounded background boxes:\n- Preset: `rounded` (dark text on semi-transparent background)\n- Customizable fields: `font_name`, `font_size`, `text_color`, `bg_color` (#rrggbbaa), `corner_radius`, `padding_h`, `padding_v`, `margin_bottom`\n\nStyle options only work with `--subtitle-mode hard`.\n\n## Target languages\n\nBCP 47 codes: `zh-Hans` `zh-Hant` `en` `ja` `ko` `fr` `de` `es` `ru` `pt` `it` `ar` `th` `vi` `id` and 23 more.\n\n## Environment variables\n\n| Variable | Purpose |\n|----------|---------|\n| `OPENAI_API_KEY` | LLM API key |\n| `OPENAI_BASE_URL` | LLM API base URL |\n\n## Exit codes\n\n`0` success · `2` bad arguments · `3` file not found · `4` missing dependency · `5` runtime error\n\n## Tips\n\n- Use `-q` for scripting (stdout = result path only)\n- Bing/Google translation is free, no API key needed\n- `bijian`/`jianying` ASR is free but only supports Chinese & English\n- Run `videocaptioner style` to see all style presets\n"},"files":{"skills/SKILL.md":"---\nname: videocaptioner\ndescription: Process video subtitles — transcribe speech, optimize/translate text, burn styled subtitles into video. Use when you need to add subtitles to a video, transcribe audio, translate subtitles, or customize subtitle styles.\nallowed-tools: Bash(videocaptioner *, ffprobe *, ffmpeg -ss *)\n---\n\n# VideoCaptioner CLI\n\nAI-powered video captioning: transcribe speech → optimize subtitles → translate → burn into video with beautiful styles.\n\n## When to use\n\n- User wants to **add subtitles to a video**\n- User wants to **transcribe audio/video** to text\n- User wants to **translate subtitles** to another language\n- User wants to **customize subtitle appearance** (colors, fonts, rounded backgrounds)\n- User wants to **download and subtitle online videos**\n\n## Before you start\n\n**Always run `videocaptioner <command> --help` first** to check the latest options and defaults before executing a command. The examples below are common patterns, but --help is the source of truth.\n\n- Install: `pip install videocaptioner`\n- FFmpeg required for video synthesis (`brew install ffmpeg` on macOS)\n- **Free (no API key):** transcription (bijian/jianying), translation (Bing/Google)\n- **Requires LLM API key:** subtitle optimization, subtitle re-segmentation, LLM translation. Set via `OPENAI_API_KEY` env var or `--api-key` flag\n\n## Common scenarios\n\n### 1. Give a Chinese video English subtitles (one command, all free)\n\n```bash\nvideocaptioner process video.mp4 --asr bijian --translator bing --target-language en \\\n  --subtitle-mode hard --quality high -o output.mp4\n```\n\n### 2. Transcribe a video to SRT (free)\n\n```bash\nvideocaptioner transcribe video.mp4 --asr bijian -o output.srt\n\n# Output as JSON format to a directory\nvideocaptioner transcribe video.mp4 --asr bijian --format json -o ./subtitles/\n```\n\n### 3. Translate existing subtitles\n\n```bash\n# Free Bing → English, bilingual output with translation above original\nvideocaptioner subtitle input.srt --translator bing --target-language en --layout target-above -o translated.srt\n\n# Free Google → Japanese, translation only (discard original text)\nvideocaptioner subtitle input.srt --translator google --target-language ja --no-optimize --layout target-only -o output_ja.srt\n\n# High quality LLM translation with reflective mode\nvideocaptioner subtitle input.srt --translator llm --target-language en --reflect \\\n  --api-key $OPENAI_API_KEY -o output_en.srt\n```\n\n### 4. Full pipeline with beautiful styled subtitles\n\n```bash\n# Anime-style subtitles (warm color + orange outline), high quality video\nvideocaptioner process video.mp4 --asr bijian --translator bing --target-language ja \\\n  --subtitle-mode hard --style anime --quality high -o output_ja.mp4\n\n# Modern rounded background subtitles\nvideocaptioner process video.mp4 --asr bijian --translator google --target-language ko \\\n  --subtitle-mode hard --render-mode rounded -o output_ko.mp4\n\n# Custom colors: white text with red outline, ultra quality\nvideocaptioner process video.mp4 --asr bijian --translator bing --target-language en \\\n  --subtitle-mode hard --quality ultra \\\n  --style-override '{\"outline_color\": \"#ff0000\", \"primary_color\": \"#ffffff\"}' -o output_en.mp4\n```\n\n### 5. Subtitle only, output as ASS format (no video synthesis)\n\n```bash\nvideocaptioner process video.mp4 --asr bijian --translator bing --target-language en \\\n  --format ass --no-synthesize -o ./output/\n```\n\n### 6. Step-by-step control (transcribe → translate → synthesize separately)\n\n```bash\n# Step 1: Transcribe\nvideocaptioner transcribe video.mp4 --asr bijian -o video.srt\n\n# Step 2: Translate (bilingual, original text above translation)\nvideocaptioner subtitle video.srt --translator bing --target-language en --layout source-above -o video_en.srt\n\n# Step 3: Burn into video with rounded background, high quality\nvideocaptioner synthesize video.mp4 -s video_en.srt --subtitle-mode hard \\\n  --render-mode rounded --quality high -o video_with_subs.mp4\n```\n\n### 7. Process audio file (auto-skips video synthesis)\n\n```bash\nvideocaptioner process podcast.mp3 --asr bijian --translator bing --target-language en -o ./output/\n```\n\n### 8. Transcribe other languages (whisper-api)\n\n```bash\nvideocaptioner transcribe french_video.mp4 --asr whisper-api \\\n  --whisper-api-key $OPENAI_API_KEY --language fr -o french.srt\n```\n\n### 9. Only optimize subtitles with LLM (fix ASR errors, no translation)\n\n```bash\nvideocaptioner subtitle raw_subtitle.srt --no-translate --api-key $OPENAI_API_KEY -o optimized.srt\n```\n\n### 10. Custom rounded background style with custom font\n\n```bash\nvideocaptioner synthesize video.mp4 -s subtitle.srt --subtitle-mode hard \\\n  --style-override '{\"text_color\": \"#ffffff\", \"bg_color\": \"#000000cc\", \"corner_radius\": 10, \"font_size\": 36}' \\\n  --font-file ./NotoSansSC.ttf --quality high -o styled_video.mp4\n```\n\n## Command reference\n\n| Command | Purpose |\n|---------|---------|\n| `transcribe` | Speech → subtitles. Engines: `bijian`(free) `jianying`(free) `whisper-api` `whisper-cpp` |\n| `subtitle` | Optimize (LLM) and/or translate (LLM/Bing/Google) subtitle files |\n| `synthesize` | Burn subtitles into video with customizable styles |\n| `process` | Full pipeline: transcribe → optimize → translate → synthesize |\n| `download` | Download video from YouTube, Bilibili, etc. |\n| `config` | Manage settings (`show` `set` `get` `path` `init`) |\n| `style` | List all subtitle style presets with parameters |\n\nRun `videocaptioner <command> --help` for full options.\n\n## Subtitle styles\n\nTwo rendering modes for beautiful subtitles:\n\n**ASS mode** (default) — outline/shadow style:\n- Presets: `default` (white+black outline), `anime` (warm+orange outline), `vertical` (portrait videos)\n- Customizable fields: `font_name`, `font_size`, `primary_color`, `outline_color`, `outline_width`, `bold`, `spacing`, `margin_bottom`\n\n**Rounded mode** — modern rounded background boxes:\n- Preset: `rounded` (dark text on semi-transparent background)\n- Customizable fields: `font_name`, `font_size`, `text_color`, `bg_color` (#rrggbbaa), `corner_radius`, `padding_h`, `padding_v`, `margin_bottom`\n\nStyle options only work with `--subtitle-mode hard`.\n\n## Target languages\n\nBCP 47 codes: `zh-Hans` `zh-Hant` `en` `ja` `ko` `fr` `de` `es` `ru` `pt` `it` `ar` `th` `vi` `id` and 23 more.\n\n## Environment variables\n\n| Variable | Purpose |\n|----------|---------|\n| `OPENAI_API_KEY` | LLM API key |\n| `OPENAI_BASE_URL` | LLM API base URL |\n\n## Exit codes\n\n`0` success · `2` bad arguments · `3` file not found · `4` missing dependency · `5` runtime error\n\n## Tips\n\n- Use `-q` for scripting (stdout = result path only)\n- Bing/Google translation is free, no API key needed\n- `bijian`/`jianying` ASR is free but only supports Chinese & English\n- Run `videocaptioner style` to see all style presets\n"},"items":[{"name":"SKILL.md","path":"skills/SKILL.md","rawUrl":"https://raw.githubusercontent.com/WEIFENG2333/VideoCaptioner/HEAD/skills/SKILL.md","title":"videocaptioner","category":"anthropic-skill","format":"markdown","content":"---\nname: videocaptioner\ndescription: Process video subtitles — transcribe speech, optimize/translate text, burn styled subtitles into video. Use when you need to add subtitles to a video, transcribe audio, translate subtitles, or customize subtitle styles.\nallowed-tools: Bash(videocaptioner *, ffprobe *, ffmpeg -ss *)\n---\n\n# VideoCaptioner CLI\n\nAI-powered video captioning: transcribe speech → optimize subtitles → translate → burn into video with beautiful styles.\n\n## When to use\n\n- User wants to **add subtitles to a video**\n- User wants to **transcribe audio/video** to text\n- User wants to **translate subtitles** to another language\n- User wants to **customize subtitle appearance** (colors, fonts, rounded backgrounds)\n- User wants to **download and subtitle online videos**\n\n## Before you start\n\n**Always run `videocaptioner <command> --help` first** to check the latest options and defaults before executing a command. The examples below are common patterns, but --help is the source of truth.\n\n- Install: `pip install videocaptioner`\n- FFmpeg required for video synthesis (`brew install ffmpeg` on macOS)\n- **Free (no API key):** transcription (bijian/jianying), translation (Bing/Google)\n- **Requires LLM API key:** subtitle optimization, subtitle re-segmentation, LLM translation. Set via `OPENAI_API_KEY` env var or `--api-key` flag\n\n## Common scenarios\n\n### 1. Give a Chinese video English subtitles (one command, all free)\n\n```bash\nvideocaptioner process video.mp4 --asr bijian --translator bing --target-language en \\\n  --subtitle-mode hard --quality high -o output.mp4\n```\n\n### 2. Transcribe a video to SRT (free)\n\n```bash\nvideocaptioner transcribe video.mp4 --asr bijian -o output.srt\n\n# Output as JSON format to a directory\nvideocaptioner transcribe video.mp4 --asr bijian --format json -o ./subtitles/\n```\n\n### 3. Translate existing subtitles\n\n```bash\n# Free Bing → English, bilingual output with translation above original\nvideocaptioner subtitle input.srt --translator bing --target-language en --layout target-above -o translated.srt\n\n# Free Google → Japanese, translation only (discard original text)\nvideocaptioner subtitle input.srt --translator google --target-language ja --no-optimize --layout target-only -o output_ja.srt\n\n# High quality LLM translation with reflective mode\nvideocaptioner subtitle input.srt --translator llm --target-language en --reflect \\\n  --api-key $OPENAI_API_KEY -o output_en.srt\n```\n\n### 4. Full pipeline with beautiful styled subtitles\n\n```bash\n# Anime-style subtitles (warm color + orange outline), high quality video\nvideocaptioner process video.mp4 --asr bijian --translator bing --target-language ja \\\n  --subtitle-mode hard --style anime --quality high -o output_ja.mp4\n\n# Modern rounded background subtitles\nvideocaptioner process video.mp4 --asr bijian --translator google --target-language ko \\\n  --subtitle-mode hard --render-mode rounded -o output_ko.mp4\n\n# Custom colors: white text with red outline, ultra quality\nvideocaptioner process video.mp4 --asr bijian --translator bing --target-language en \\\n  --subtitle-mode hard --quality ultra \\\n  --style-override '{\"outline_color\": \"#ff0000\", \"primary_color\": \"#ffffff\"}' -o output_en.mp4\n```\n\n### 5. Subtitle only, output as ASS format (no video synthesis)\n\n```bash\nvideocaptioner process video.mp4 --asr bijian --translator bing --target-language en \\\n  --format ass --no-synthesize -o ./output/\n```\n\n### 6. Step-by-step control (transcribe → translate → synthesize separately)\n\n```bash\n# Step 1: Transcribe\nvideocaptioner transcribe video.mp4 --asr bijian -o video.srt\n\n# Step 2: Translate (bilingual, original text above translation)\nvideocaptioner subtitle video.srt --translator bing --target-language en --layout source-above -o video_en.srt\n\n# Step 3: Burn into video with rounded background, high quality\nvideocaptioner synthesize video.mp4 -s video_en.srt --subtitle-mode hard \\\n  --render-mode rounded --quality high -o video_with_subs.mp4\n```\n\n### 7. Process audio file (auto-skips video synthesis)\n\n```bash\nvideocaptioner process podcast.mp3 --asr bijian --translator bing --target-language en -o ./output/\n```\n\n### 8. Transcribe other languages (whisper-api)\n\n```bash\nvideocaptioner transcribe french_video.mp4 --asr whisper-api \\\n  --whisper-api-key $OPENAI_API_KEY --language fr -o french.srt\n```\n\n### 9. Only optimize subtitles with LLM (fix ASR errors, no translation)\n\n```bash\nvideocaptioner subtitle raw_subtitle.srt --no-translate --api-key $OPENAI_API_KEY -o optimized.srt\n```\n\n### 10. Custom rounded background style with custom font\n\n```bash\nvideocaptioner synthesize video.mp4 -s subtitle.srt --subtitle-mode hard \\\n  --style-override '{\"text_color\": \"#ffffff\", \"bg_color\": \"#000000cc\", \"corner_radius\": 10, \"font_size\": 36}' \\\n  --font-file ./NotoSansSC.ttf --quality high -o styled_video.mp4\n```\n\n## Command reference\n\n| Command | Purpose |\n|---------|---------|\n| `transcribe` | Speech → subtitles. Engines: `bijian`(free) `jianying`(free) `whisper-api` `whisper-cpp` |\n| `subtitle` | Optimize (LLM) and/or translate (LLM/Bing/Google) subtitle files |\n| `synthesize` | Burn subtitles into video with customizable styles |\n| `process` | Full pipeline: transcribe → optimize → translate → synthesize |\n| `download` | Download video from YouTube, Bilibili, etc. |\n| `config` | Manage settings (`show` `set` `get` `path` `init`) |\n| `style` | List all subtitle style presets with parameters |\n\nRun `videocaptioner <command> --help` for full options.\n\n## Subtitle styles\n\nTwo rendering modes for beautiful subtitles:\n\n**ASS mode** (default) — outline/shadow style:\n- Presets: `default` (white+black outline), `anime` (warm+orange outline), `vertical` (portrait videos)\n- Customizable fields: `font_name`, `font_size`, `primary_color`, `outline_color`, `outline_width`, `bold`, `spacing`, `margin_bottom`\n\n**Rounded mode** — modern rounded background boxes:\n- Preset: `rounded` (dark text on semi-transparent background)\n- Customizable fields: `font_name`, `font_size`, `text_color`, `bg_color` (#rrggbbaa), `corner_radius`, `padding_h`, `padding_v`, `margin_bottom`\n\nStyle options only work with `--subtitle-mode hard`.\n\n## Target languages\n\nBCP 47 codes: `zh-Hans` `zh-Hant` `en` `ja` `ko` `fr` `de` `es` `ru` `pt` `it` `ar` `th` `vi` `id` and 23 more.\n\n## Environment variables\n\n| Variable | Purpose |\n|----------|---------|\n| `OPENAI_API_KEY` | LLM API key |\n| `OPENAI_BASE_URL` | LLM API base URL |\n\n## Exit codes\n\n`0` success · `2` bad arguments · `3` file not found · `4` missing dependency · `5` runtime error\n\n## Tips\n\n- Use `-q` for scripting (stdout = result path only)\n- Bing/Google translation is free, no API key needed\n- `bijian`/`jianying` ASR is free but only supports Chinese & English\n- Run `videocaptioner style` to see all style presets\n","frontmatter":{"name":"videocaptioner","description":"Process video subtitles — transcribe speech, optimize/translate text, burn styled subtitles into video. Use when you need to add subtitles to a video, transcribe audio, translate subtitles, or customize subtitle styles.","allowed-tools":"Bash(videocaptioner *, ffprobe *, ffmpeg -ss *)","allowedTools":["Bash(videocaptioner","*,","ffprobe","*,","ffmpeg","-ss","*)"]},"allowedTools":["Bash(videocaptioner","*,","ffprobe","*,","ffmpeg","-ss","*)"],"isInternal":false,"tokens":1763,"sizeBytes":6831}],"systemPromptSnippet":"<yakaai_skills repo=\"WEIFENG2333/VideoCaptioner\">\n<!-- File: skills/SKILL.md (Tokens: ~1763 | Category: anthropic-skill) -->\n---\nname: videocaptioner\ndescription: Process video subtitles — transcribe speech, optimize/translate text, burn styled subtitles into video. Use when you need to add subtitles to a video, transcribe audio, translate subtitles, or customize subtitle styles.\nallowed-tools: Bash(videocaptioner *, ffprobe *, ffmpeg -ss *)\n---\n\n# VideoCaptioner CLI\n\nAI-powered video captioning: transcribe speech → optimize subtitles → translate → burn into video with beautiful styles.\n\n## When to use\n\n- User wants to **add subtitles to a video**\n- User wants to **transcribe audio/video** to text\n- User wants to **translate subtitles** to another language\n- User wants to **customize subtitle appearance** (colors, fonts, rounded backgrounds)\n- User wants to **download and subtitle online videos**\n\n## Before you start\n\n**Always run `videocaptioner <command> --help` first** to check the latest options and defaults before executing a command. The examples below are common patterns, but --help is the source of truth.\n\n- Install: `pip install videocaptioner`\n- FFmpeg required for video synthesis (`brew install ffmpeg` on macOS)\n- **Free (no API key):** transcription (bijian/jianying), translation (Bing/Google)\n- **Requires LLM API key:** subtitle optimization, subtitle re-segmentation, LLM translation. Set via `OPENAI_API_KEY` env var or `--api-key` flag\n\n## Common scenarios\n\n### 1. Give a Chinese video English subtitles (one command, all free)\n\n```bash\nvideocaptioner process video.mp4 --asr bijian --translator bing --target-language en \\\n  --subtitle-mode hard --quality high -o output.mp4\n```\n\n### 2. Transcribe a video to SRT (free)\n\n```bash\nvideocaptioner transcribe video.mp4 --asr bijian -o output.srt\n\n# Output as JSON format to a directory\nvideocaptioner transcribe video.mp4 --asr bijian --format json -o ./subtitles/\n```\n\n### 3. Translate existing subtitles\n\n```bash\n# Free Bing → English, bilingual output with translation above original\nvideocaptioner subtitle input.srt --translator bing --target-language en --layout target-above -o translated.srt\n\n# Free Google → Japanese, translation only (discard original text)\nvideocaptioner subtitle input.srt --translator google --target-language ja --no-optimize --layout target-only -o output_ja.srt\n\n# High quality LLM translation with reflective mode\nvideocaptioner subtitle input.srt --translator llm --target-language en --reflect \\\n  --api-key $OPENAI_API_KEY -o output_en.srt\n```\n\n### 4. Full pipeline with beautiful styled subtitles\n\n```bash\n# Anime-style subtitles (warm color + orange outline), high quality video\nvideocaptioner process video.mp4 --asr bijian --translator bing --target-language ja \\\n  --subtitle-mode hard --style anime --quality high -o output_ja.mp4\n\n# Modern rounded background subtitles\nvideocaptioner process video.mp4 --asr bijian --translator google --target-language ko \\\n  --subtitle-mode hard --render-mode rounded -o output_ko.mp4\n\n# Custom colors: white text with red outline, ultra quality\nvideocaptioner process video.mp4 --asr bijian --translator bing --target-language en \\\n  --subtitle-mode hard --quality ultra \\\n  --style-override '{\"outline_color\": \"#ff0000\", \"primary_color\": \"#ffffff\"}' -o output_en.mp4\n```\n\n### 5. Subtitle only, output as ASS format (no video synthesis)\n\n```bash\nvideocaptioner process video.mp4 --asr bijian --translator bing --target-language en \\\n  --format ass --no-synthesize -o ./output/\n```\n\n### 6. Step-by-step control (transcribe → translate → synthesize separately)\n\n```bash\n# Step 1: Transcribe\nvideocaptioner transcribe video.mp4 --asr bijian -o video.srt\n\n# Step 2: Translate (bilingual, original text above translation)\nvideocaptioner subtitle video.srt --translator bing --target-language en --layout source-above -o video_en.srt\n\n# Step 3: Burn into video with rounded background, high quality\nvideocaptioner synthesize video.mp4 -s video_en.srt --subtitle-mode hard \\\n  --render-mode rounded --quality high -o video_with_subs.mp4\n```\n\n### 7. Process audio file (auto-skips video synthesis)\n\n```bash\nvideocaptioner process podcast.mp3 --asr bijian --translator bing --target-language en -o ./output/\n```\n\n### 8. Transcribe other languages (whisper-api)\n\n```bash\nvideocaptioner transcribe french_video.mp4 --asr whisper-api \\\n  --whisper-api-key $OPENAI_API_KEY --language fr -o french.srt\n```\n\n### 9. Only optimize subtitles with LLM (fix ASR errors, no translation)\n\n```bash\nvideocaptioner subtitle raw_subtitle.srt --no-translate --api-key $OPENAI_API_KEY -o optimized.srt\n```\n\n### 10. Custom rounded background style with custom font\n\n```bash\nvideocaptioner synthesize video.mp4 -s subtitle.srt --subtitle-mode hard \\\n  --style-override '{\"text_color\": \"#ffffff\", \"bg_color\": \"#000000cc\", \"corner_radius\": 10, \"font_size\": 36}' \\\n  --font-file ./NotoSansSC.ttf --quality high -o styled_video.mp4\n```\n\n## Command reference\n\n| Command | Purpose |\n|---------|---------|\n| `transcribe` | Speech → subtitles. Engines: `bijian`(free) `jianying`(free) `whisper-api` `whisper-cpp` |\n| `subtitle` | Optimize (LLM) and/or translate (LLM/Bing/Google) subtitle files |\n| `synthesize` | Burn subtitles into video with customizable styles |\n| `process` | Full pipeline: transcribe → optimize → translate → synthesize |\n| `download` | Download video from YouTube, Bilibili, etc. |\n| `config` | Manage settings (`show` `set` `get` `path` `init`) |\n| `style` | List all subtitle style presets with parameters |\n\nRun `videocaptioner <command> --help` for full options.\n\n## Subtitle styles\n\nTwo rendering modes for beautiful subtitles:\n\n**ASS mode** (default) — outline/shadow style:\n- Presets: `default` (white+black outline), `anime` (warm+orange outline), `vertical` (portrait videos)\n- Customizable fields: `font_name`, `font_size`, `primary_color`, `outline_color`, `outline_width`, `bold`, `spacing`, `margin_bottom`\n\n**Rounded mode** — modern rounded background boxes:\n- Preset: `rounded` (dark text on semi-transparent background)\n- Customizable fields: `font_name`, `font_size`, `text_color`, `bg_color` (#rrggbbaa), `corner_radius`, `padding_h`, `padding_v`, `margin_bottom`\n\nStyle options only work with `--subtitle-mode hard`.\n\n## Target languages\n\nBCP 47 codes: `zh-Hans` `zh-Hant` `en` `ja` `ko` `fr` `de` `es` `ru` `pt` `it` `ar` `th` `vi` `id` and 23 more.\n\n## Environment variables\n\n| Variable | Purpose |\n|----------|---------|\n| `OPENAI_API_KEY` | LLM API key |\n| `OPENAI_BASE_URL` | LLM API base URL |\n\n## Exit codes\n\n`0` success · `2` bad arguments · `3` file not found · `4` missing dependency · `5` runtime error\n\n## Tips\n\n- Use `-q` for scripting (stdout = result path only)\n- Bing/Google translation is free, no API key needed\n- `bijian`/`jianying` ASR is free but only supports Chinese & English\n- Run `videocaptioner style` to see all style presets\n</yakaai_skills>"}