Claude
Skills
Sign in
Back

subtitle-generation

Included with Lifetime
$97 forever

Generate subtitles and captions for videos using each::sense AI. Create auto-generated subtitles, multi-language captions, animated TikTok-style text, SRT/VTT exports, speaker diarization, and burned-in subtitles.

Ads & Marketing

What this skill does


# Subtitle Generation

Generate professional subtitles and captions for videos using each::sense. This skill creates accurate transcriptions, multi-language subtitles, animated captions, and various export formats optimized for social media, video production, and accessibility.

## Features

- **Auto-Generated Subtitles**: Automatic speech-to-text transcription with accurate timing
- **Multi-Language Generation**: Generate subtitles in multiple languages from audio
- **Animated Captions**: TikTok/Instagram-style animated word-by-word captions
- **SRT/VTT Export**: Standard subtitle formats for editing and distribution
- **Speaker Diarization**: Identify and label different speakers in conversations
- **Subtitle Translation**: Translate existing subtitles to other languages
- **Burned-In Subtitles**: Render subtitles directly into video (hardcoded)
- **Karaoke Style**: Word-by-word highlighting for music and lyric videos
- **Timing Adjustment**: Fine-tune subtitle timing and synchronization
- **Batch Processing**: Generate subtitles for multiple videos at once

## Quick Start

```bash
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Generate subtitles for this video with accurate timestamps"}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max",
    "file_urls": ["https://example.com/my-video.mp4"]
  }'
```

## Subtitle Formats & Outputs

| Format | Extension | Use Case |
|--------|-----------|----------|
| SRT | .srt | Universal, most video players and editors |
| VTT | .vtt | Web video, HTML5 players, YouTube |
| Burned-In | .mp4 | Social media, no player support needed |
| JSON | .json | Custom applications, programmatic access |
| ASS/SSA | .ass | Advanced styling, anime subtitles |

## Use Case Examples

### 1. Auto-Generate Subtitles from Video

Automatically transcribe speech from a video file with accurate word-level timestamps.

```bash
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Transcribe this video and generate subtitles with accurate timestamps. Output as SRT format. The video contains English speech."}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max",
    "file_urls": ["https://example.com/interview-video.mp4"]
  }'
```

### 2. Multi-Language Subtitle Generation

Generate subtitles in multiple languages directly from the audio.

```bash
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Generate subtitles for this video in English, Spanish, and French. Provide separate SRT files for each language. The original audio is in English."}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max",
    "file_urls": ["https://example.com/product-demo.mp4"]
  }'
```

### 3. Animated/Styled Captions (TikTok Style)

Create eye-catching animated captions with word-by-word highlighting, popular on TikTok and Instagram Reels.

```bash
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Add TikTok-style animated captions to this video. Use bold white text with black outline, word-by-word pop animation, centered at the bottom third of the screen. Make it trendy and engaging."}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max",
    "file_urls": ["https://example.com/short-form-content.mp4"]
  }'
```

### 4. SRT/VTT Export

Generate clean subtitle files in standard formats for use in video editors or streaming platforms.

```bash
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Transcribe this video and export subtitles in both SRT and VTT formats. Ensure proper line breaks (max 42 characters per line, 2 lines max). Include timestamps accurate to milliseconds."}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max",
    "file_urls": ["https://example.com/documentary.mp4"]
  }'
```

### 5. Speaker Diarization (Identify Speakers)

Generate subtitles that identify and label different speakers in conversations, interviews, or podcasts.

```bash
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Generate subtitles for this podcast with speaker diarization. There are 2 speakers - identify them as Speaker 1 and Speaker 2 (or Host and Guest if you can determine roles). Format each line with the speaker label."}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max",
    "file_urls": ["https://example.com/podcast-episode.mp4"]
  }'
```

### 6. Subtitle Translation

Translate existing subtitles from one language to another while preserving timing.

```bash
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Translate these English subtitles to Japanese. Preserve the original timing and format. Ensure natural Japanese phrasing rather than literal translation."}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max",
    "file_urls": ["https://example.com/original-subtitles.srt"]
  }'
```

### 7. Burned-In Subtitles

Render subtitles directly into the video file (hardcoded/embedded) so they appear without needing player support.

```bash
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Generate subtitles for this video and burn them directly into the video. Use white text with black background box, Arial font, positioned at bottom center. Output a new video file with embedded subtitles."}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max",
    "file_urls": ["https://example.com/social-media-clip.mp4"]
  }'
```

### 8. Word-by-Word Karaoke Style

Create karaoke-style subtitles with word-by-word highlighting, perfect for music videos and lyric content.

```bash
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Create karaoke-style subtitles for this music video. Display lyrics with word-by-word highlighting as they are sung. Use a gradient color change effect (from white to yellow) for the currently sung word. Center the text on screen."}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max",
    "file_urls": ["https://example.com/music-video.mp4"]
  }'
```

### 9. Subtitle Timing Adjustment

Fine-tune subtitle timing for better synchronization with audio.

```bash
# First, upload video and generate initial subtitles
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-s

Related in Ads & Marketing