skillZs
★ LIVE SKILL TAGS ★
>>> LIVE SKILLS INDEX <<<
* OPEN SOURCE *
NO LOGIN, NO TRACKING
※ REAL INSTALL DATA ※
← back to all skills
lattifai/omni-captions-skills104 installs

omnicaptions-LaiCut

Use when user needs accurate/precise caption timing, or aligning captions with audio/video using forced alignment. Corrects caption timing to match actual speech. Uses LattifAI Lattice-1 model.

How do I install this agent skill?

npx skills add https://github.com/lattifai/omni-captions-skills --skill omnicaptions-laicut
view source ↗

Is this agent skill safe to install?

  • Gen Agent Trust Hubpass

    The omnicaptions-LaiCut skill facilitates caption timing alignment by installing vendor-provided Python packages. The main security consideration is the processing of untrusted external caption and media files, which represents a potential surface for indirect prompt injection, a common risk for content-processing tools.

  • Socketpass

    No alerts

  • Snykfail

    Risk: HIGH · 2 issues

  • Runlayerfail

    1/1 file flagged

What does this agent skill do?

LaiCut

LattifAI's audio-text processing toolkit. Currently supports forced alignment, with translate and speaker diarization coming soon.

Requires LattifAI API Key - Get from https://lattifai.com/dashboard/api-keys

When to Use

  • Accurate/precise timing needed - When user requests accurate timestamps or precise alignment
  • Sync misaligned captions - Fix timing drift in downloaded captions
  • Align manual transcripts - Match text to speech precisely
  • Post-transcription alignment - Improve timing from auto-generated captions
  • Multi-format support - SRT, VTT, ASS, LRC, TXT, MD

When NOT to Use

  • Need full transcription (use /omnicaptions:transcribe)
  • No existing caption/transcript (nothing to align)
  • Very short clips (<5 seconds)

Setup

pip install "omni-captions-skills[laicut]" --extra-index-url https://lattifai.github.io/pypi/simple/

API Key

Priority: LATTIFAI_API_KEY env → .env file → ~/.config/omnicaptions/config.json

If not set, ask user: Please enter your LattifAI API key (get from https://lattifai.com/dashboard/api-keys):

Then run with -k <key>. Key will be saved to config file automatically.

CLI Usage

# Basic alignment (default: JSON with word-level timing, RECOMMENDED)
omnicaptions LaiCut audio.mp3 caption.srt
# → caption_LaiCut.json

# Then convert to desired format (preserves word timing in JSON for future use)
omnicaptions convert caption_LaiCut.json -o caption_LaiCut.srt

# Smart sentence segmentation (for word-level captions like YouTube VTT)
omnicaptions LaiCut video.mp4 caption.vtt --split-sentence
OptionDescription
-o, --outputOutput file (default: <caption>_LaiCut.json)
-f, --formatOutput format (default: json)
-k, --api-keyLattifAI API key
--split-sentenceAI-powered semantic sentence segmentation
-v, --verboseShow progress

JSON Output (Recommended)

JSON output preserves word-level timing for downstream tasks:

[
  {
    "text": "Hello world",
    "start": 0.0,
    "end": 2.5,
    "words": [
      {"word": "Hello", "start": 0.0, "end": 0.5},
      {"word": "world", "start": 0.6, "end": 2.5}
    ]
  }
]

Convert JSON to other formats:

# For playback/editing
omnicaptions convert video.en_LaiCut.json -o video.en_LaiCut.srt

# For bilingual ASS
omnicaptions convert video.en_LaiCut.json -o video.en_LaiCut.ass --style bilingual

# For karaoke
omnicaptions convert lyrics_LaiCut.json -o lyrics_LaiCut_karaoke.ass --karaoke

For translation: Convert to SRT first (JSON is too large for Claude to read):

# 1. JSON → SRT
omnicaptions convert video.en_LaiCut.json -o video.en_LaiCut.srt

# 2. Claude 翻译 → video.en_LaiCut_Claude_zh.srt

# 3. 转换为带颜色 ASS
omnicaptions convert video.en_LaiCut_Claude_zh.srt -o video.en_LaiCut_Claude_zh_Color.ass \
  --line1-color "#00FF00" --line2-color "#FFFF00"

Ask User: Enable Smart Sentence Segmentation?

When input captions are word-level or poorly segmented (e.g., YouTube VTT), ask user whether to enable --split-sentence:

Is the caption word-level or poorly segmented (e.g., YouTube VTT)?
- Yes → Add --split-sentence (AI re-segments into natural sentences)
- No → Keep original segmentation

Use cases: YouTube VTT, word-aligned captions, messy auto-generated captions

LattifAI API Key Error Handling

LaiCut requires LattifAI API key (NOT Gemini API key)

Error example:

API KEY verification error: API KEY is invalid or expired.

Correct handling:

  1. Tell user that LaiCut requires a valid LattifAI API key
  2. Ask user if they want to provide a new key
  3. Direct user to https://lattifai.com/dashboard/api-keys
  4. NEVER skip alignment step claiming "timing is already accurate enough"

Common Mistakes

MistakeFix
API key invalid/expiredAsk user for new key, do NOT skip
No API keySet LATTIFAI_API_KEY or use -k
Audio format errorConvert to WAV/MP3/M4A first
Empty outputCheck caption has text content

Related Skills

SkillUse When
/omnicaptions:transcribeGenerate transcript first
/omnicaptions:convertConvert caption formats
/omnicaptions:translateTranslate after alignment

Workflow Examples

Important:

  • LaiCut outputs JSON by default (preserves word-level timing)
  • Convert to SRT/ASS when needed for playback or translation
  • Generate bilingual captions AFTER alignment
# No caption: transcribe → align (JSON) → convert → translate
omnicaptions transcribe video.mp4
# → video_GeminiUnd.md
omnicaptions LaiCut video.mp4 video_GeminiUnd.md
# → video_GeminiUnd_LaiCut.json
omnicaptions convert video_GeminiUnd_LaiCut.json -o video_GeminiUnd_LaiCut.srt
# → video_GeminiUnd_LaiCut_Claude_zh.srt (after translate)

# Has caption: download → align (JSON) → convert → translate
omnicaptions download "https://youtu.be/xxx"
# → xxx.en.vtt
omnicaptions LaiCut xxx.mp4 xxx.en.vtt
# → xxx.en_LaiCut.json
omnicaptions convert xxx.en_LaiCut.json -o xxx.en_LaiCut.srt
# → xxx.en_LaiCut_Claude_zh.srt (after translate)
# → xxx.en_LaiCut_Claude_zh_Color.ass (after convert with --style)

Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.

<a href="https://skillzs.dev/skills/lattifai/omni-captions-skills/omnicaptions-laicut">View omnicaptions-LaiCut on skillZs</a>