بنقرة واحدة
caption-renderer
Burn karaoke captions into video using FFmpeg ASS subtitles (~20s for 16s video)
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Burn karaoke captions into video using FFmpeg ASS subtitles (~20s for 16s video)
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
Align text to audio timestamps using Qwen3-ForcedAligner (~30ms precision)
Full pipeline from manga panels to animated video. Two audio modes: dialogue (Qwen3-TTS + karaoke captions) or music (ElevenLabs + rolling lyrics).
Generate multi-panel manga from character reference and story beats
Generates original background music using Google's Music Generation API. Creates soundtracks matched to scene mood and timing.
Concatenates video clips and optionally adds background music using FFmpeg.
Generates anime character images from photo analysis using Nano Banana Pro (gemini-3-pro-image-preview). Creates character sheets with full body and portrait views at 2K resolution.
استنادا إلى تصنيف SOC المهني
| name | Caption Renderer |
| description | Burn karaoke captions into video using FFmpeg ASS subtitles (~20s for 16s video) |
| triggers | ["Add captions to video","Karaoke subtitle overlay","Rolling lyrics on video"] |
Burn karaoke-style rolling captions into video using FFmpeg ASS subtitles.
Words start white (not yet sung) and fill to gold as the karaoke sweep passes. Automatically scales to 1080x1920 if input is lower resolution (e.g., Veo's 720x1280).
Performance: ~20s for 16s video at 720x1280 input, ~40s with scale to 1080x1920.
from skills.render_captions import CaptionRenderer, CaptionSegment, WordSegment
renderer = CaptionRenderer()
# Create captions with word-level timing
captions = [
CaptionSegment(
text="Hello world!",
startMs=0,
endMs=2000,
speaker="Mochi",
words=[
WordSegment("Hello", 0, 800),
WordSegment("world!", 900, 2000),
],
),
]
# Render video with captions (auto-scales to 1080x1920)
output = await renderer.render_with_captions(
video_path=Path("video.mp4"),
captions=captions,
)
# Render multiple clips with per-clip captions
output = await renderer.render_concatenated_video(
clip_paths=[clip1, clip2, clip3],
clip_captions=[captions1, captions2, captions3],
audio_paths=[audio1, audio2, audio3],
)
\k karaoke tags for word-level gold highlightingsubtitles= filter burns captions in a single passscale= filter normalizes resolution in the same pass